diff --git a/fluxer_api/src/api/openapi/openapi.json b/fluxer_api/src/api/openapi/openapi.json index c559c03e0..69c04f5d7 100644 --- a/fluxer_api/src/api/openapi/openapi.json +++ b/fluxer_api/src/api/openapi/openapi.json @@ -13398,115 +13398,6 @@ } } }, - "/stripe/checkout/subscription/preapproval": { - "post": { - "operationId": "create_localized_card_preapproval_session", - "summary": "Create localized card preapproval session", - "tags": ["Billing"], - "responses": { - "200": { - "description": "Success", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UrlResponse"}}} - }, - "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": {"$ref": "#/components/schemas/ThrottledError"}}}, - "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"}}} - } - }, - "description": "Initiates a Stripe Checkout setup-mode session to preapprove a local card before continuing to paid localized checkout.", - "security": [{"sessionToken": []}], - "requestBody": { - "required": true, - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateCheckoutSessionRequest"}}} - } - } - }, - "/stripe/checkout/subscription/preapproval/continue": { - "post": { - "operationId": "continue_localized_card_preapproval_session", - "summary": "Continue localized card preapproval session", - "tags": ["Billing"], - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": {"schema": {"$ref": "#/components/schemas/LocalizedCardPreapprovalContinueResponse"}} - } - }, - "400": { - "description": "Bad Request - The request was malformed or contained invalid data", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}} - }, - "429": { - "description": "Too Many Requests - You are being rate limited", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ThrottledError"}}}, - "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"}}} - } - }, - "description": "Checks the status of a localized card preapproval flow and returns the paid Stripe Checkout URL when it is ready.", - "requestBody": { - "required": true, - "content": { - "application/json": {"schema": {"$ref": "#/components/schemas/LocalizedCardPreapprovalContinueRequest"}} - } - } - } - }, "/stripe/webhook": { "post": { "operationId": "process_stripe_webhook", @@ -25771,21 +25662,6 @@ "required": ["received"], "additionalProperties": false }, - "LocalizedCardPreapprovalContinueRequest": { - "type": "object", - "properties": { - "token": {"description": "Continuation token for the localized card preapproval flow", "type": "string"} - }, - "required": ["token"] - }, - "LocalizedCardPreapprovalContinueResponse": { - "oneOf": [ - {"$ref": "#/components/schemas/PendingLocalizedCardPreapprovalContinueResponse"}, - {"$ref": "#/components/schemas/ReadyLocalizedCardPreapprovalContinueResponse"}, - {"$ref": "#/components/schemas/RejectedLocalizedCardPreapprovalContinueResponse"}, - {"$ref": "#/components/schemas/ExpiredLocalizedCardPreapprovalContinueResponse"} - ] - }, "CreateCheckoutSessionRequest": { "type": "object", "properties": { @@ -35251,71 +35127,6 @@ "type": "string" }, "CheckoutPaymentMethodEnum": {"type": "string", "enum": ["card", "pix", "upi"]}, - "ExpiredLocalizedCardPreapprovalContinueResponse": { - "type": "object", - "properties": { - "status": { - "type": "string", - "const": "expired", - "description": "The preapproval token has expired or is unknown" - } - }, - "required": ["status"], - "additionalProperties": false - }, - "RejectedLocalizedCardPreapprovalContinueResponse": { - "type": "object", - "properties": { - "status": { - "type": "string", - "const": "rejected", - "description": "The preapproval failed and the paid checkout should not continue" - }, - "reason": { - "type": "string", - "enum": [ - "country_mismatch", - "missing_customer", - "missing_payment_method", - "missing_setup_intent", - "payment_method_not_card", - "unknown" - ], - "description": "The reason the preapproval was rejected" - }, - "actual_country": { - "description": "The detected card issuing country when available", - "anyOf": [{"type": "string", "minLength": 2, "maxLength": 2}, {"type": "null"}] - } - }, - "required": ["status", "reason"], - "additionalProperties": false - }, - "ReadyLocalizedCardPreapprovalContinueResponse": { - "type": "object", - "properties": { - "status": { - "type": "string", - "const": "ready", - "description": "The preapproval succeeded and the paid checkout URL is ready" - }, - "url": {"type": "string", "description": "The URL to redirect to"} - }, - "required": ["status", "url"], - "additionalProperties": false - }, - "PendingLocalizedCardPreapprovalContinueResponse": { - "type": "object", - "properties": { - "status": { - "type": "string", - "const": "pending", - "description": "The preapproval result is still being processed" - } - }, - "required": ["status"], - "additionalProperties": false - }, "GifCategoryTagResponse": { "type": "object", "properties": { diff --git a/fluxer_api/src/api/rate_limit_configs/IntegrationRateLimitConfig.ts b/fluxer_api/src/api/rate_limit_configs/IntegrationRateLimitConfig.ts index c687fa542..86e69b996 100644 --- a/fluxer_api/src/api/rate_limit_configs/IntegrationRateLimitConfig.ts +++ b/fluxer_api/src/api/rate_limit_configs/IntegrationRateLimitConfig.ts @@ -36,14 +36,6 @@ export const IntegrationRateLimitConfigs = { bucket: 'stripe:checkout:subscription', config: {limit: 3, windowMs: ms('1 minute')}, } as RouteRateLimitConfig, - STRIPE_CHECKOUT_SUBSCRIPTION_PREAPPROVAL: { - bucket: 'stripe:checkout:subscription:preapproval', - config: {limit: 5, windowMs: ms('1 minute')}, - } as RouteRateLimitConfig, - STRIPE_CHECKOUT_SUBSCRIPTION_PREAPPROVAL_CONTINUE: { - bucket: 'stripe:checkout:subscription:preapproval:continue', - config: {limit: 30, windowMs: ms('1 minute')}, - } as RouteRateLimitConfig, STRIPE_CHECKOUT_GIFT: { bucket: 'stripe:checkout:gift', config: {limit: 3, windowMs: ms('1 minute')}, diff --git a/fluxer_api/src/api/stripe/StripeController.ts b/fluxer_api/src/api/stripe/StripeController.ts index 0c304ac33..688007980 100644 --- a/fluxer_api/src/api/stripe/StripeController.ts +++ b/fluxer_api/src/api/stripe/StripeController.ts @@ -29,8 +29,6 @@ import { import { ChangeSubscriptionRequest, CurrentSubscriptionPriceResponse, - LocalizedCardPreapprovalContinueRequest, - LocalizedCardPreapprovalContinueResponse, PriceIdsQueryRequest, PriceIdsResponse, SelfServeRefundEligibilityResponse, @@ -140,60 +138,6 @@ export function StripeController(app: HonoApp) { return ctx.json({url: checkoutUrl}); }, ); - app.post( - '/stripe/checkout/subscription/preapproval', - BillingRouteAvailable, - RateLimitMiddleware(RateLimitConfigs.STRIPE_CHECKOUT_SUBSCRIPTION_PREAPPROVAL), - LoginRequired, - DefaultUserOnly, - OpenAPI({ - operationId: 'create_localized_card_preapproval_session', - summary: 'Create localized card preapproval session', - description: - 'Initiates a Stripe Checkout setup-mode session to preapprove a local card before continuing to paid localized checkout.', - responseSchema: UrlResponse, - statusCode: 200, - security: ['bearerToken', 'sessionToken'], - tags: 'Billing', - }), - Validator('json', CreateCheckoutSessionRequest), - async (ctx) => { - const {price_id, country_code, client_geoip_country_code, eu_withdrawal_waiver_accepted, is_business} = - ctx.req.valid('json'); - const userId = ctx.get('user').id; - const checkoutUrl = await ctx.get('stripeService').createLocalizedCardPreapprovalSession({ - userId, - priceId: price_id, - countryCode: country_code, - clientGeoipCountryCode: client_geoip_country_code, - purchaseGeoipCountryCode: await getPurchaseGeoipCountryCode(ctx.req.raw), - euWithdrawalWaiverAccepted: eu_withdrawal_waiver_accepted, - isBusiness: is_business, - }); - return ctx.json({url: checkoutUrl}); - }, - ); - app.post( - '/stripe/checkout/subscription/preapproval/continue', - BillingRouteAvailable, - RateLimitMiddleware(RateLimitConfigs.STRIPE_CHECKOUT_SUBSCRIPTION_PREAPPROVAL_CONTINUE), - OpenAPI({ - operationId: 'continue_localized_card_preapproval_session', - summary: 'Continue localized card preapproval session', - description: - 'Checks the status of a localized card preapproval flow and returns the paid Stripe Checkout URL when it is ready.', - responseSchema: LocalizedCardPreapprovalContinueResponse, - statusCode: 200, - security: [], - tags: 'Billing', - }), - Validator('json', LocalizedCardPreapprovalContinueRequest), - async (ctx) => { - const {token} = ctx.req.valid('json'); - const result = await ctx.get('stripeService').continueLocalizedCardPreapproval(token); - return ctx.json(result); - }, - ); app.post( '/stripe/checkout/gift', BillingRouteAvailable, diff --git a/fluxer_api/src/api/stripe/StripeService.ts b/fluxer_api/src/api/stripe/StripeService.ts index 4a82bcd7c..888156b32 100644 --- a/fluxer_api/src/api/stripe/StripeService.ts +++ b/fluxer_api/src/api/stripe/StripeService.ts @@ -14,10 +14,7 @@ import type {StoreEntitlementService} from '@app/api/store_billing/StoreEntitlem import {getProductRegistry, type ProductRegistry} from '@app/api/stripe/ProductRegistry'; import {getStripeClient} from '@app/api/stripe/StripeClient'; import {PremiumStateService} from '@app/api/stripe/services/PremiumStateService'; -import type { - ContinueLocalizedCardPreapprovalResult, - CreateCheckoutSessionParams, -} from '@app/api/stripe/services/StripeCheckoutService'; +import type {CreateCheckoutSessionParams} from '@app/api/stripe/services/StripeCheckoutService'; import {StripeCheckoutService} from '@app/api/stripe/services/StripeCheckoutService'; import {StripeGiftService} from '@app/api/stripe/services/StripeGiftService'; import {StripePremiumService} from '@app/api/stripe/services/StripePremiumService'; @@ -139,25 +136,6 @@ export class StripeService { return `${Config.endpoints.webApp}/premium-callback?status=success`; } - async createLocalizedCardPreapprovalSession( - params: Pick< - CreateCheckoutSessionParams, - | 'clientGeoipCountryCode' - | 'countryCode' - | 'euWithdrawalWaiverAccepted' - | 'isBusiness' - | 'priceId' - | 'purchaseGeoipCountryCode' - | 'userId' - >, - ): Promise { - return this.checkoutService.createLocalizedCardPreapprovalSession(params); - } - - async continueLocalizedCardPreapproval(token: string): Promise { - return this.checkoutService.continueLocalizedCardPreapproval(token); - } - async createCustomerPortalSession(userId: UserID): Promise { return this.checkoutService.createCustomerPortalSession(userId); } diff --git a/fluxer_api/src/api/stripe/services/StripeCheckoutService.ts b/fluxer_api/src/api/stripe/services/StripeCheckoutService.ts index b2dca2af6..ab73b3cf0 100644 --- a/fluxer_api/src/api/stripe/services/StripeCheckoutService.ts +++ b/fluxer_api/src/api/stripe/services/StripeCheckoutService.ts @@ -1,7 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {randomUUID} from 'node:crypto'; -import {createUserID, type UserID} from '@app/api/BrandedTypes'; +import type {UserID} from '@app/api/BrandedTypes'; import {Config} from '@app/api/Config'; import {getContentMessage} from '@app/api/content_i18n/ContentI18n'; import type {UserRow} from '@app/api/database/types/UserTypes'; @@ -95,6 +94,10 @@ export interface CreateCheckoutSessionParams { const PIX_UPI_MANDATE_HEADROOM_MULTIPLIER = 1.25; +const LOCAL_PAYMENT_METHOD_BY_CURRENCY: Partial> = { + BRL: 'pix', +}; + interface ResolvedPriceIds { monthly: string | null; yearly: string | null; @@ -118,51 +121,6 @@ interface EuWithdrawalWaiverContext { required: boolean; } -type LocalizedCardPreapprovalStatus = 'approved' | 'checkout_created' | 'pending' | 'rejected'; -type LocalizedCardPreapprovalRejectedReason = - | 'country_mismatch' - | 'missing_customer' - | 'missing_payment_method' - | 'missing_setup_intent' - | 'payment_method_not_card' - | 'unknown'; - -interface LocalizedCardPreapprovalFlowState { - actualCardCountry: string | null; - approvedPaymentMethodId: string | null; - clientGeoipCountryCode: string | null; - countryCode: string; - customerId: string; - currency: Currency; - euWithdrawalWaiverAccepted: boolean; - finalCheckoutUrl: string | null; - isBusiness: boolean; - preapprovalSessionId: string; - purchaseGeoipCountryCode: string | null; - priceId: string; - rejectionReason: LocalizedCardPreapprovalRejectedReason | null; - status: LocalizedCardPreapprovalStatus; - token: string; - userId: string; -} - -export type ContinueLocalizedCardPreapprovalResult = - | { - status: 'expired'; - } - | { - status: 'pending'; - } - | { - status: 'ready'; - url: string; - } - | { - status: 'rejected'; - reason: LocalizedCardPreapprovalRejectedReason; - actual_country?: string | null; - }; - export class StripeCheckoutService { constructor( private stripe: Stripe | null, @@ -192,7 +150,15 @@ export class StripeCheckoutService { }); const isRecurringSubscription = this.productRegistry.isRecurringSubscription(productInfo); const checkoutMode: CheckoutSessionMode = isRecurringSubscription ? 'subscription' : 'payment'; - this.assertPaymentMethodCompatibility({paymentMethod, productInfo, isGift, userId, priceId}); + const effectivePaymentMethod = + this.resolveRequiredLocalPaymentMethod({productInfo, isGift, isRecurringSubscription}) ?? paymentMethod; + this.assertPaymentMethodCompatibility({ + paymentMethod: effectivePaymentMethod, + productInfo, + isGift, + userId, + priceId, + }); const waiverContext = this.resolveEuWithdrawalWaiverContext({ countryCode, clientGeoipCountryCode, @@ -202,10 +168,10 @@ export class StripeCheckoutService { const paymentMethodOptions = await this.buildPaymentMethodOptions({ productInfo, checkoutMode, - paymentMethod, + paymentMethod: effectivePaymentMethod, priceId, }); - const paymentMethodTypes = this.resolvePaymentMethodTypes(paymentMethod); + const paymentMethodTypes = this.resolvePaymentMethodTypes(effectivePaymentMethod); const branding = await getBillingBranding(); const billing = getEffectiveBillingConfig(); const checkoutMetadata = { @@ -220,7 +186,7 @@ export class StripeCheckoutService { eu_withdrawal_waiver_accepted: waiverContext.accepted ? 'true' : 'false', ...(waiverContext.acceptedAt ? {eu_withdrawal_waiver_accepted_at: waiverContext.acceptedAt.toISOString()} : {}), eu_withdrawal_waiver_text_version: EU_WITHDRAWAL_WAIVER_TEXT_VERSION, - payment_method: paymentMethod, + payment_method: effectivePaymentMethod, }; const checkoutParams: CheckoutSessionCreateParams = { customer: customerId, @@ -296,256 +262,6 @@ export class StripeCheckoutService { }); } - async createLocalizedCardPreapprovalSession({ - userId, - priceId, - countryCode, - clientGeoipCountryCode, - purchaseGeoipCountryCode, - euWithdrawalWaiverAccepted, - isBusiness = false, - }: Pick< - CreateCheckoutSessionParams, - | 'clientGeoipCountryCode' - | 'countryCode' - | 'euWithdrawalWaiverAccepted' - | 'isBusiness' - | 'priceId' - | 'purchaseGeoipCountryCode' - | 'userId' - >): Promise { - if (!this.stripe) { - throw new StripePaymentNotAvailableError(); - } - const normalizedCountryCode = this.resolveEnforcedPricingCountryCode({countryCode, purchaseGeoipCountryCode}); - if (!normalizedCountryCode) { - Logger.error({priceId, userId}, 'Localized card preapproval requires a country code'); - throw new StripeInvalidProductConfigurationError(); - } - const {customerId, productInfo} = await this.prepareCheckoutContext({ - userId, - priceId, - isGift: false, - countryCode: normalizedCountryCode, - }); - if (!this.requiresLocalizedCardPreapproval(productInfo)) { - Logger.error( - {priceId, userId, currency: productInfo.currency, countryCode: normalizedCountryCode}, - 'Localized card preapproval requested for non-localized recurring price', - ); - throw new StripeInvalidProductConfigurationError(); - } - const waiverContext = this.resolveEuWithdrawalWaiverContext({ - countryCode: normalizedCountryCode, - clientGeoipCountryCode, - purchaseGeoipCountryCode, - euWithdrawalWaiverAccepted, - }); - const token = randomUUID(); - const checkoutParams: CheckoutSessionCreateParams = { - customer: customerId, - client_reference_id: userId.toString(), - metadata: { - user_id: userId.toString(), - price_id: priceId, - product_type: productInfo.type, - country_code: normalizedCountryCode, - ...(purchaseGeoipCountryCode ? {purchase_geoip_country_code: purchaseGeoipCountryCode.toUpperCase()} : {}), - ...(clientGeoipCountryCode ? {purchase_client_country_code: clientGeoipCountryCode.toUpperCase()} : {}), - eu_withdrawal_waiver_required: waiverContext.required ? 'true' : 'false', - eu_withdrawal_waiver_accepted: waiverContext.accepted ? 'true' : 'false', - ...(waiverContext.acceptedAt ? {eu_withdrawal_waiver_accepted_at: waiverContext.acceptedAt.toISOString()} : {}), - ...(waiverContext.required ? {eu_withdrawal_waiver_text_version: EU_WITHDRAWAL_WAIVER_TEXT_VERSION} : {}), - setup_type: 'localized_card_preapproval', - localized_card_preapproval_currency: productInfo.currency, - localized_card_preapproval_token: token, - is_business: isBusiness ? 'true' : 'false', - }, - mode: 'setup', - payment_method_types: ['card'], - success_url: `${Config.endpoints.webApp}/premium-callback?status=preapproval-success&token=${encodeURIComponent(token)}`, - cancel_url: `${Config.endpoints.webApp}/premium-callback?status=preapproval-cancel`, - tax_id_collection: { - enabled: getEffectiveBillingConfig().taxIdCollection, - }, - billing_address_collection: isBusiness ? 'required' : 'auto', - customer_update: { - address: 'auto', - name: 'auto', - }, - }; - try { - const session = await this.stripe.checkout.sessions.create(checkoutParams); - try { - await getBillingRepository().checkoutSessions.upsertFromStripe(session, {knownUserId: userId}); - } catch (mirrorErr) { - Logger.error( - {mirrorErr, sessionId: session.id}, - 'Mirror upsert failed after Stripe write; reconciler will heal', - ); - } - if (!session.url) { - Logger.error({userId, sessionId: session.id}, 'Stripe localized card preapproval session missing url'); - throw new StripeError('Stripe localized card preapproval session missing url'); - } - await this.setLocalizedCardPreapprovalFlow(token, { - actualCardCountry: null, - approvedPaymentMethodId: null, - clientGeoipCountryCode: this.normalizeCountryCode(clientGeoipCountryCode), - countryCode: normalizedCountryCode, - customerId, - currency: productInfo.currency, - euWithdrawalWaiverAccepted: waiverContext.accepted, - finalCheckoutUrl: null, - isBusiness, - preapprovalSessionId: session.id, - purchaseGeoipCountryCode: this.normalizeCountryCode(purchaseGeoipCountryCode), - priceId, - rejectionReason: null, - status: 'pending', - token, - userId: userId.toString(), - }); - Logger.debug( - {userId, sessionId: session.id, countryCode: normalizedCountryCode}, - 'Localized card preapproval session created', - ); - return session.url; - } catch (error: unknown) { - Logger.error( - {error, userId, countryCode: normalizedCountryCode}, - 'Failed to create localized card preapproval session', - ); - const message = error instanceof Error ? error.message : 'Failed to create localized card preapproval session'; - throw new StripeError(message); - } - } - - async continueLocalizedCardPreapproval(token: string): Promise { - const normalizedToken = token.trim(); - if (!normalizedToken) { - return {status: 'expired'}; - } - const flowState = await this.getLocalizedCardPreapprovalFlow(normalizedToken); - if (!flowState) { - return {status: 'expired'}; - } - if (flowState.finalCheckoutUrl) { - return {status: 'ready', url: flowState.finalCheckoutUrl}; - } - if (flowState.status === 'pending') { - return {status: 'pending'}; - } - if (flowState.status === 'rejected') { - return { - status: 'rejected', - reason: flowState.rejectionReason ?? 'unknown', - actual_country: flowState.actualCardCountry, - }; - } - const lockKey = this.getLocalizedCardPreapprovalContinueLockKey(normalizedToken); - const lockToken = await this.cacheService.acquireLock( - lockKey, - StripeCheckoutService.LOCALIZED_CARD_PREAPPROVAL_CONTINUE_LOCK_TTL_SECONDS, - ); - if (!lockToken) { - return {status: 'pending'}; - } - try { - const freshFlowState = await this.getLocalizedCardPreapprovalFlow(normalizedToken); - if (!freshFlowState) { - return {status: 'expired'}; - } - if (freshFlowState.finalCheckoutUrl) { - return {status: 'ready', url: freshFlowState.finalCheckoutUrl}; - } - if (freshFlowState.status === 'pending') { - return {status: 'pending'}; - } - if (freshFlowState.status === 'rejected') { - return { - status: 'rejected', - reason: freshFlowState.rejectionReason ?? 'unknown', - actual_country: freshFlowState.actualCardCountry, - }; - } - if (freshFlowState.approvedPaymentMethodId && this.stripe) { - await this.setCustomerDefaultPaymentMethod(freshFlowState.customerId, freshFlowState.approvedPaymentMethodId); - } - const checkoutUrl = await this.createCheckoutSession({ - userId: createUserID(BigInt(freshFlowState.userId)), - priceId: freshFlowState.priceId, - isGift: false, - countryCode: freshFlowState.countryCode, - clientGeoipCountryCode: freshFlowState.clientGeoipCountryCode, - purchaseGeoipCountryCode: freshFlowState.purchaseGeoipCountryCode, - euWithdrawalWaiverAccepted: freshFlowState.euWithdrawalWaiverAccepted, - isBusiness: freshFlowState.isBusiness, - }); - const updatedFlowState: LocalizedCardPreapprovalFlowState = { - ...freshFlowState, - finalCheckoutUrl: checkoutUrl, - status: 'checkout_created', - }; - await this.setLocalizedCardPreapprovalFlow(normalizedToken, updatedFlowState); - return {status: 'ready', url: checkoutUrl}; - } finally { - try { - await this.cacheService.releaseLock(lockKey, lockToken); - } catch (error) { - Logger.error({error, token: normalizedToken}, 'Failed to release localized card preapproval continuation lock'); - } - } - } - - async completeLocalizedCardPreapproval(session: Stripe.Checkout.Session): Promise { - if (!this.stripe) { - throw new StripePaymentNotAvailableError(); - } - const token = session.metadata?.localized_card_preapproval_token?.trim(); - if (!token) { - Logger.error({sessionId: session.id}, 'Localized card preapproval session missing token'); - return; - } - const countryCode = session.metadata?.country_code?.trim().toUpperCase(); - if (!countryCode) { - await this.rejectLocalizedCardPreapproval(session, token, 'unknown'); - return; - } - const setupIntentId = extractId(session.setup_intent); - if (!setupIntentId) { - await this.rejectLocalizedCardPreapproval(session, token, 'missing_setup_intent'); - return; - } - const setupIntent = await this.stripe.setupIntents.retrieve(setupIntentId, { - expand: ['payment_method'], - }); - const paymentMethod = setupIntent.payment_method; - if (!paymentMethod || typeof paymentMethod === 'string') { - await this.rejectLocalizedCardPreapproval(session, token, 'missing_payment_method'); - return; - } - if (paymentMethod.type !== 'card' || !paymentMethod.card) { - await this.rejectLocalizedCardPreapproval(session, token, 'payment_method_not_card'); - return; - } - const cardCountry = paymentMethod.card.country?.trim().toUpperCase() ?? null; - if (cardCountry !== countryCode) { - await this.rejectLocalizedCardPreapproval(session, token, 'country_mismatch', cardCountry); - return; - } - const flowState = await this.buildLocalizedCardPreapprovalFlowStateFromSession(session, token); - const approvedFlowState: LocalizedCardPreapprovalFlowState = { - ...flowState, - actualCardCountry: cardCountry, - approvedPaymentMethodId: paymentMethod.id, - rejectionReason: null, - status: 'approved', - }; - await this.setLocalizedCardPreapprovalFlow(token, approvedFlowState); - Logger.info({sessionId: session.id, userId: flowState.userId, countryCode}, 'Localized card preapproval completed'); - } - private async prepareCheckoutContext({ userId, priceId, @@ -746,132 +462,10 @@ export class StripeCheckoutService { } } - private requiresLocalizedCardPreapproval(productInfo: ProductInfo): boolean { - return this.productRegistry.isRecurringSubscription(productInfo) && isLocalizedCurrency(productInfo.currency); - } - private requiresCountryCodeForLocalizedCurrency(currency: Currency): boolean { return isLocalizedCurrency(currency); } - private async rejectLocalizedCardPreapproval( - session: Stripe.Checkout.Session, - token: string, - rejectionReason: LocalizedCardPreapprovalRejectedReason, - actualCardCountry: string | null = null, - ): Promise { - const flowState = await this.buildLocalizedCardPreapprovalFlowStateFromSession(session, token); - const rejectedFlowState: LocalizedCardPreapprovalFlowState = { - ...flowState, - actualCardCountry, - approvedPaymentMethodId: null, - rejectionReason, - status: 'rejected', - }; - await this.setLocalizedCardPreapprovalFlow(token, rejectedFlowState); - Logger.info( - { - sessionId: session.id, - userId: flowState.userId, - countryCode: flowState.countryCode, - actualCardCountry, - rejectionReason, - }, - 'Localized card preapproval rejected', - ); - } - - private async buildLocalizedCardPreapprovalFlowStateFromSession( - session: Stripe.Checkout.Session, - token: string, - ): Promise { - const existingFlowState = await this.getLocalizedCardPreapprovalFlow(token); - if (existingFlowState) { - return existingFlowState; - } - const userId = session.metadata?.user_id?.trim(); - const priceId = session.metadata?.price_id?.trim(); - const countryCode = session.metadata?.country_code?.trim().toUpperCase(); - const currency = session.metadata?.localized_card_preapproval_currency?.trim().toUpperCase() as - | Currency - | undefined; - const customerId = extractId(session.customer); - if (!userId || !priceId || !countryCode || !currency || !customerId) { - throw new StripeError('Localized card preapproval session missing required metadata'); - } - return { - actualCardCountry: null, - approvedPaymentMethodId: null, - clientGeoipCountryCode: this.normalizeCountryCode(session.metadata?.purchase_client_country_code), - countryCode, - customerId, - currency, - euWithdrawalWaiverAccepted: session.metadata?.eu_withdrawal_waiver_accepted === 'true', - finalCheckoutUrl: null, - isBusiness: session.metadata?.is_business === 'true', - preapprovalSessionId: session.id, - purchaseGeoipCountryCode: this.normalizeCountryCode(session.metadata?.purchase_geoip_country_code), - priceId, - rejectionReason: null, - status: 'pending', - token, - userId, - }; - } - - private async getLocalizedCardPreapprovalFlow(token: string): Promise { - return ( - (await this.cacheService.get( - this.getLocalizedCardPreapprovalFlowKey(token), - )) ?? null - ); - } - - private async setLocalizedCardPreapprovalFlow( - token: string, - flowState: LocalizedCardPreapprovalFlowState, - ): Promise { - await this.cacheService.set( - this.getLocalizedCardPreapprovalFlowKey(token), - flowState, - StripeCheckoutService.LOCALIZED_CARD_PREAPPROVAL_TTL_SECONDS, - ); - } - - private getLocalizedCardPreapprovalFlowKey(token: string): string { - return `stripe:localized-card-preapproval:flow:${token}`; - } - - private getLocalizedCardPreapprovalContinueLockKey(token: string): string { - return `stripe:localized-card-preapproval:continue:${token}`; - } - - private async setCustomerDefaultPaymentMethod(customerId: string, paymentMethodId: string): Promise { - if (!this.stripe) { - return; - } - try { - const updatedCustomer = await this.stripe.customers.update(customerId, { - invoice_settings: { - default_payment_method: paymentMethodId, - }, - }); - try { - await getBillingRepository().customers.upsertFromStripe(updatedCustomer); - } catch (mirrorErr) { - Logger.error( - {mirrorErr, customerId: updatedCustomer.id}, - 'Mirror upsert failed after Stripe write; reconciler will heal', - ); - } - } catch (error) { - Logger.warn( - {error, customerId, paymentMethodId}, - 'Failed to set localized card preapproval default payment method', - ); - } - } - private async findBlockingSubscriptionForCustomer(customerId: string): Promise { if (!this.stripe) { throw new StripePaymentNotAvailableError(); @@ -1060,8 +654,6 @@ export class StripeCheckoutService { } private static readonly CUSTOMER_LOCK_TTL_SECONDS = seconds('30 seconds'); - private static readonly LOCALIZED_CARD_PREAPPROVAL_CONTINUE_LOCK_TTL_SECONDS = seconds('30 seconds'); - private static readonly LOCALIZED_CARD_PREAPPROVAL_TTL_SECONDS = seconds('1 day'); private resolveConfiguredPriceIds(countryCode?: string): ResolvedPriceIds { const recurringCurrencyPreferences = getCurrencyPreferences(countryCode); @@ -1133,6 +725,24 @@ export class StripeCheckoutService { return getCachedStripePriceSummary({stripe: this.stripe, cacheService: this.cacheService, priceId}); } + private resolveRequiredLocalPaymentMethod({ + productInfo, + isGift, + isRecurringSubscription, + }: { + productInfo: ProductInfo; + isGift: boolean; + isRecurringSubscription: boolean; + }): CheckoutPaymentMethod | null { + if (isGift || !isRecurringSubscription) { + return null; + } + if (getEffectiveBillingConfig().catalogMode === 'operator') { + return null; + } + return LOCAL_PAYMENT_METHOD_BY_CURRENCY[productInfo.currency] ?? null; + } + private assertPaymentMethodCompatibility({ paymentMethod, productInfo, diff --git a/fluxer_api/src/api/stripe/services/StripeCheckoutWebhookHandler.ts b/fluxer_api/src/api/stripe/services/StripeCheckoutWebhookHandler.ts index 25a304529..dd5c32312 100644 --- a/fluxer_api/src/api/stripe/services/StripeCheckoutWebhookHandler.ts +++ b/fluxer_api/src/api/stripe/services/StripeCheckoutWebhookHandler.ts @@ -23,7 +23,6 @@ import type {StripeGiftService} from '@app/api/stripe/services/StripeGiftService import type {StripePremiumService} from '@app/api/stripe/services/StripePremiumService'; import type {IUserRepository} from '@app/api/user/IUserRepository'; import {mapUserToPrivateResponse} from '@app/api/user/UserMappers'; -import {isLocalizedCurrency} from '@app/api/utils/CurrencyUtils'; import {UserPremiumTypes} from '@fluxer/constants/src/UserConstants'; import {StripeError} from '@fluxer/errors/src/domains/payment/StripeError'; import type {ICacheService} from '@pkgs/cache/src/ICacheService'; @@ -46,12 +45,6 @@ interface DonationSubscriptionDetails { status: string | null; } -interface CheckoutChargeDetails { - chargeId: string | null; - paymentMethodType: string | null; - cardCountry: string | null; -} - type CheckoutPremiumApplyResult = 'granted' | 'refunded_duplicate_subscription'; type CheckoutSideEffectResult = 'continue' | 'stop'; @@ -198,10 +191,6 @@ export class StripeCheckoutWebhookHandler { ); throw new StripeError('Checkout session missing amount or currency'); } - const cardEligible = await this.validateLocalizedCardEligibility(session, payment, productInfo, user); - if (!cardEligible) { - return; - } const customerId = extractId(session.customer); const subscriptionId = extractId(session.subscription); const isRecurring = this.productRegistry.isRecurringSubscription(productInfo); @@ -263,131 +252,6 @@ export class StripeCheckoutWebhookHandler { ); } - private async validateLocalizedCardEligibility( - session: Stripe.Checkout.Session, - payment: Payment, - productInfo: ProductInfo, - user: User, - ): Promise { - const requestedCountryCode = session.metadata?.country_code?.trim().toUpperCase() ?? null; - if (!requestedCountryCode || !this.requiresLocalizedCardEligibility(productInfo)) { - return true; - } - const paymentIntentId = extractId(session.payment_intent); - if (!paymentIntentId) { - const inferredPaymentMethodType = this.getDeclaredCheckoutPaymentMethodType(session); - if (inferredPaymentMethodType && inferredPaymentMethodType !== 'card') { - Logger.debug( - { - sessionId: session.id, - requestedCountryCode, - currency: productInfo.currency, - inferredPaymentMethodType, - }, - 'Skipping localized card eligibility validation because checkout explicitly used a non-card payment method', - ); - return true; - } - const fallbackChargeContext = await this.getLocalizedCheckoutChargeDetailsFromSubscription(session); - if (fallbackChargeContext?.chargeDetails) { - const fallbackChargeDetails = fallbackChargeContext.chargeDetails; - if (fallbackChargeDetails.paymentMethodType !== 'card') { - Logger.debug( - { - sessionId: session.id, - requestedCountryCode, - currency: productInfo.currency, - fallbackPaymentMethodType: fallbackChargeDetails.paymentMethodType, - }, - 'Skipping localized card eligibility validation because subscription fallback resolved to a non-card payment method', - ); - return true; - } - const normalizedFallbackCardCountry = fallbackChargeDetails.cardCountry?.trim().toUpperCase() ?? null; - if (normalizedFallbackCardCountry === requestedCountryCode) { - Logger.debug( - { - sessionId: session.id, - requestedCountryCode, - currency: productInfo.currency, - cardCountry: normalizedFallbackCardCountry, - }, - 'Validated localized card eligibility from subscription fallback after checkout.session.completed omitted payment_intent', - ); - return true; - } - if (fallbackChargeContext.paymentIntentId && fallbackChargeDetails.chargeId) { - Logger.warn( - { - sessionId: session.id, - userId: payment.userId, - paymentIntentId: fallbackChargeContext.paymentIntentId, - chargeId: fallbackChargeDetails.chargeId, - requestedCountryCode, - cardCountry: normalizedFallbackCardCountry, - currency: productInfo.currency, - }, - 'Rejecting localized checkout because subscription fallback resolved to a card issued outside the requested country', - ); - await this.rejectLocalizedCardPayment({ - session, - payment, - user, - chargeDetails: fallbackChargeDetails, - paymentIntentId: fallbackChargeContext.paymentIntentId, - requestedCountryCode, - cardCountry: normalizedFallbackCardCountry, - }); - return false; - } - } - Logger.error( - { - sessionId: session.id, - requestedCountryCode, - currency: productInfo.currency, - inferredPaymentMethodType, - fallbackResolved: Boolean(fallbackChargeContext?.chargeDetails), - fallbackPaymentIntentId: fallbackChargeContext?.paymentIntentId ?? null, - fallbackPaymentMethodType: fallbackChargeContext?.chargeDetails?.paymentMethodType ?? null, - fallbackCardCountry: fallbackChargeContext?.chargeDetails?.cardCountry ?? null, - }, - 'Localized checkout missing payment intent for card eligibility validation', - ); - throw new StripeError('Localized checkout missing payment intent'); - } - const chargeDetails = await this.getCheckoutChargeDetails(paymentIntentId); - if (chargeDetails.paymentMethodType !== 'card') { - return true; - } - const normalizedCardCountry = chargeDetails.cardCountry?.trim().toUpperCase() ?? null; - if (normalizedCardCountry === requestedCountryCode) { - return true; - } - Logger.warn( - { - sessionId: session.id, - userId: payment.userId, - paymentIntentId, - chargeId: chargeDetails.chargeId, - requestedCountryCode, - cardCountry: normalizedCardCountry, - currency: productInfo.currency, - }, - 'Rejecting localized checkout because card issuing country did not match requested country', - ); - await this.rejectLocalizedCardPayment({ - session, - payment, - user, - chargeDetails, - paymentIntentId, - requestedCountryCode, - cardCountry: normalizedCardCountry, - }); - return false; - } - private async applyCheckoutSideEffects(context: CheckoutFulfilmentContext): Promise { const checkoutEffectsAppliedKey = this.getCheckoutEffectsAppliedKey(context.session.id); if (await this.cacheService.get(checkoutEffectsAppliedKey)) { @@ -719,185 +583,6 @@ export class StripeCheckoutWebhookHandler { return latestServerSeq > initialServerSeq; } - private requiresLocalizedCardEligibility(productInfo: ProductInfo): boolean { - return isLocalizedCurrency(productInfo.currency); - } - - private getDeclaredCheckoutPaymentMethodType(session: Stripe.Checkout.Session): string | null { - const metadataPaymentMethod = session.metadata?.payment_method?.trim().toLowerCase() ?? null; - if (metadataPaymentMethod) { - return metadataPaymentMethod; - } - const paymentMethodTypes = session.payment_method_types ?? []; - if (paymentMethodTypes.length === 1) { - return paymentMethodTypes[0]?.trim().toLowerCase() ?? null; - } - if (paymentMethodTypes.length > 1 && !paymentMethodTypes.some((type) => type.toLowerCase() === 'card')) { - return paymentMethodTypes[0]?.trim().toLowerCase() ?? null; - } - return null; - } - - private async getLocalizedCheckoutChargeDetailsFromSubscription(session: Stripe.Checkout.Session): Promise<{ - paymentIntentId: string | null; - chargeDetails: CheckoutChargeDetails | null; - } | null> { - if (!this.stripe) { - return null; - } - const subscriptionId = extractId(session.subscription); - if (!subscriptionId) { - return null; - } - type StripeSubscriptionWithFallbackPaymentState = Stripe.Subscription & { - default_payment_method?: - | { - id?: string; - type?: string | null; - card?: { - country?: string | null; - } | null; - } - | string - | null; - latest_invoice?: Stripe.Invoice | string | null; - }; - try { - const subscription = (await this.stripe.subscriptions.retrieve(subscriptionId, { - expand: ['default_payment_method', 'latest_invoice.payments.data.payment'], - })) as StripeSubscriptionWithFallbackPaymentState; - const latestInvoice = - typeof subscription.latest_invoice === 'string' ? null : (subscription.latest_invoice ?? null); - const invoicePaymentIntentId = getFirstInvoicePaymentIntentId(latestInvoice); - if (invoicePaymentIntentId) { - return { - paymentIntentId: invoicePaymentIntentId, - chargeDetails: await this.getCheckoutChargeDetails(invoicePaymentIntentId), - }; - } - const defaultPaymentMethod = - typeof subscription.default_payment_method === 'string' ? null : subscription.default_payment_method; - if (!defaultPaymentMethod) { - return null; - } - return { - paymentIntentId: null, - chargeDetails: { - chargeId: null, - paymentMethodType: defaultPaymentMethod.type ?? null, - cardCountry: defaultPaymentMethod.card?.country ?? null, - }, - }; - } catch (error) { - Logger.warn( - { - error, - sessionId: session.id, - subscriptionId, - }, - 'Failed to load subscription fallback payment details for localized card eligibility', - ); - return null; - } - } - - private async getCheckoutChargeDetails(paymentIntentId: string): Promise { - if (!this.stripe) { - throw new StripeError('Stripe client not available for localized card eligibility checks'); - } - try { - const paymentIntent = await this.stripe.paymentIntents.retrieve(paymentIntentId, { - expand: ['latest_charge'], - }); - const latestCharge = paymentIntent.latest_charge; - if (!latestCharge) { - throw new StripeError('Payment intent missing latest charge'); - } - const charge = typeof latestCharge === 'string' ? await this.stripe.charges.retrieve(latestCharge) : latestCharge; - const paymentMethodDetails = charge.payment_method_details; - return { - chargeId: charge.id, - paymentMethodType: this.getChargePaymentMethodType(paymentMethodDetails), - cardCountry: paymentMethodDetails?.card?.country ?? null, - }; - } catch (error) { - Logger.error({error, paymentIntentId}, 'Failed to load Stripe charge details for localized card eligibility'); - throw error; - } - } - - private getChargePaymentMethodType(paymentMethodDetails: Stripe.Charge.PaymentMethodDetails | null): string | null { - if (!paymentMethodDetails) { - return null; - } - if (paymentMethodDetails.type) { - return paymentMethodDetails.type; - } - if (paymentMethodDetails.card) { - return 'card'; - } - if ('pix' in paymentMethodDetails && paymentMethodDetails.pix) { - return 'pix'; - } - if ('upi' in paymentMethodDetails && paymentMethodDetails.upi) { - return 'upi'; - } - return null; - } - - private async rejectLocalizedCardPayment({ - session, - payment, - user, - chargeDetails, - paymentIntentId, - requestedCountryCode, - cardCountry, - }: { - session: Stripe.Checkout.Session; - payment: Payment; - user: User; - chargeDetails: CheckoutChargeDetails; - paymentIntentId: string; - requestedCountryCode: string; - cardCountry: string | null; - }): Promise { - const subscriptionId = extractId(session.subscription); - if (subscriptionId) { - await this.cancelStripeSubscriptionById(subscriptionId, session.id, user.id.toString()); - } - if (chargeDetails.chargeId) { - await this.refundChargeForLocalizedCardMismatch({ - chargeId: chargeDetails.chargeId, - checkoutSessionId: session.id, - requestedCountryCode, - cardCountry, - }); - } else { - Logger.warn( - { - sessionId: session.id, - userId: user.id.toString(), - paymentIntentId, - requestedCountryCode, - cardCountry, - }, - 'Skipping localized card refund because Stripe did not surface a charge id', - ); - } - await this.userRepository.updatePayment({ - ...payment.toRow(), - stripe_customer_id: extractId(session.customer), - payment_intent_id: paymentIntentId, - subscription_id: subscriptionId, - invoice_id: typeof session.invoice === 'string' ? session.invoice : null, - amount_cents: session.amount_total ?? payment.amountCents, - currency: session.currency ?? payment.currency, - status: 'failed', - completed_at: payment.completedAt ?? new Date(), - }); - } - private async handleDonationCheckoutCompleted(session: Stripe.Checkout.Session): Promise { const email = session.metadata?.donation_email?.trim().toLowerCase(); if (!email) { @@ -1135,39 +820,6 @@ export class StripeCheckoutWebhookHandler { } } - private async refundChargeForLocalizedCardMismatch({ - chargeId, - checkoutSessionId, - requestedCountryCode, - cardCountry, - }: { - chargeId: string; - checkoutSessionId: string; - requestedCountryCode: string; - cardCountry: string | null; - }): Promise { - if (!this.stripe) { - throw new StripeError('Stripe client not available for localized card refund'); - } - const refund = await this.stripe.refunds.create( - { - charge: chargeId, - metadata: { - checkout_session_id: checkoutSessionId, - rejection_reason: 'localized_card_country_mismatch', - expected_country: requestedCountryCode, - actual_country: cardCountry ?? 'unknown', - }, - }, - {idempotencyKey: `localized-card-country-refund:${checkoutSessionId}`}, - ); - try { - await getBillingRepository().refunds.upsertFromStripe(refund); - } catch (mirrorErr) { - Logger.error({mirrorErr, refundId: refund.id}, 'Mirror upsert failed after Stripe write; reconciler will heal'); - } - } - private isMissingOrCancelledSubscriptionError(error: unknown): boolean { if (!(error instanceof Error)) { return false; diff --git a/fluxer_api/src/api/stripe/services/StripeWebhookService.ts b/fluxer_api/src/api/stripe/services/StripeWebhookService.ts index c3f7d9501..9fa3bcc7e 100644 --- a/fluxer_api/src/api/stripe/services/StripeWebhookService.ts +++ b/fluxer_api/src/api/stripe/services/StripeWebhookService.ts @@ -16,7 +16,6 @@ import type {StoreEntitlementService} from '@app/api/store_billing/StoreEntitlem import {getAcceptedWebhookSecrets} from '@app/api/stripe/BillingConfigCache'; import type {ProductRegistry} from '@app/api/stripe/ProductRegistry'; import type {AgeVerificationService} from '@app/api/stripe/services/AgeVerificationService'; -import type {StripeCheckoutService} from '@app/api/stripe/services/StripeCheckoutService'; import {StripeCheckoutWebhookHandler} from '@app/api/stripe/services/StripeCheckoutWebhookHandler'; import {StripeDisputeWebhookHandler} from '@app/api/stripe/services/StripeDisputeWebhookHandler'; import {StripeGiftReversalHandler} from '@app/api/stripe/services/StripeGiftReversalHandler'; @@ -47,7 +46,6 @@ export class StripeWebhookService { constructor( private stripe: Stripe | null, - private checkoutService: StripeCheckoutService, userRepository: IUserRepository, userCacheService: UserCacheService, sessionTerminator: ISessionTerminator, @@ -176,10 +174,6 @@ export class StripeWebhookService { await this.ageVerificationService.completeVerification(checkoutSession); break; } - if (checkoutSession.metadata?.setup_type === 'localized_card_preapproval') { - await this.checkoutService.completeLocalizedCardPreapproval(checkoutSession); - break; - } await this.checkoutHandler.handleCheckoutSessionCompleted(checkoutSession); break; } diff --git a/fluxer_api/src/api/stripe/tests/OperatorBillingCatalog.test.ts b/fluxer_api/src/api/stripe/tests/OperatorBillingCatalog.test.ts index 13ab9e8d8..4395dba75 100644 --- a/fluxer_api/src/api/stripe/tests/OperatorBillingCatalog.test.ts +++ b/fluxer_api/src/api/stripe/tests/OperatorBillingCatalog.test.ts @@ -489,16 +489,6 @@ describe('operator billing catalog', () => { expect(stripeHandlers.spies.createdCheckoutSessions[0]?.line_items?.[0]?.price).toBe('price_opchfyearly'); }); - test('never offers the localized card preapproval flow', async () => { - const token = await createPurchaser(); - await createBuilder(harness, token) - .post('/stripe/checkout/subscription/preapproval') - .body({price_id: 'price_opsekmonthly', country_code: 'SE'}) - .expect(HTTP_STATUS.BAD_REQUEST, APIErrorCodes.STRIPE_INVALID_PRODUCT_CONFIGURATION) - .execute(); - expect(stripeHandlers.spies.createdCheckoutSessions).toHaveLength(0); - }); - test('rejects pix and upi for operator prices', async () => { const token = await createPurchaser(); await createBuilder(harness, token) diff --git a/fluxer_api/src/api/stripe/tests/SelfHostedPremiumRoutes.test.ts b/fluxer_api/src/api/stripe/tests/SelfHostedPremiumRoutes.test.ts index b0915bfec..363fcfca6 100644 --- a/fluxer_api/src/api/stripe/tests/SelfHostedPremiumRoutes.test.ts +++ b/fluxer_api/src/api/stripe/tests/SelfHostedPremiumRoutes.test.ts @@ -144,8 +144,6 @@ type RouteMethod = 'GET' | 'POST' | 'DELETE'; const PURCHASE_ROUTES: ReadonlyArray<[RouteMethod, string]> = [ ['POST', '/stripe/checkout/subscription'], - ['POST', '/stripe/checkout/subscription/preapproval'], - ['POST', '/stripe/checkout/subscription/preapproval/continue'], ['POST', '/stripe/checkout/gift'], ['GET', '/premium/price-ids'], ]; diff --git a/fluxer_api/src/api/stripe/tests/StripeCheckoutCountryEnforcement.test.ts b/fluxer_api/src/api/stripe/tests/StripeCheckoutCountryEnforcement.test.ts index 3aad226ce..f21b7d560 100644 --- a/fluxer_api/src/api/stripe/tests/StripeCheckoutCountryEnforcement.test.ts +++ b/fluxer_api/src/api/stripe/tests/StripeCheckoutCountryEnforcement.test.ts @@ -167,4 +167,37 @@ describe('StripeCheckoutCountryEnforcement', () => { expect(priceIds.currency).toBe('BRL'); expect(priceIds.monthly).toBe(MOCK_PRICES.monthlyBrl); }); + test('offers pix and nothing else for a localized BRL subscription', async () => { + lookupGeoipMock.mockResolvedValue(geoipCountry('BR')); + const token = await createPurchaser(); + await createBuilder<{url: string}>(harness, token) + .post('/stripe/checkout/subscription') + .body({price_id: MOCK_PRICES.monthlyBrl, country_code: 'BR'}) + .expect(HTTP_STATUS.OK) + .execute(); + expect(stripeHandlers.spies.createdCheckoutSessions).toHaveLength(1); + expect(stripeHandlers.spies.createdCheckoutSessions[0].payment_method_types).toEqual(['pix']); + }); + + test('forces pix even when the caller explicitly asks for card on a BRL subscription', async () => { + lookupGeoipMock.mockResolvedValue(geoipCountry('BR')); + const token = await createPurchaser(); + await createBuilder<{url: string}>(harness, token) + .post('/stripe/checkout/subscription') + .body({price_id: MOCK_PRICES.monthlyBrl, country_code: 'BR', payment_method: 'card'}) + .expect(HTTP_STATUS.OK) + .execute(); + expect(stripeHandlers.spies.createdCheckoutSessions[0].payment_method_types).toEqual(['pix']); + }); + + test('leaves payment methods open for a base-currency subscription', async () => { + lookupGeoipMock.mockResolvedValue(geoipCountry('US')); + const token = await createPurchaser(); + await createBuilder<{url: string}>(harness, token) + .post('/stripe/checkout/subscription') + .body({price_id: MOCK_PRICES.monthlyUsd, country_code: 'US'}) + .expect(HTTP_STATUS.OK) + .execute(); + expect(stripeHandlers.spies.createdCheckoutSessions[0].payment_method_types).toBeUndefined(); + }); }); diff --git a/fluxer_api/src/api/stripe/tests/StripeWebhookCheckout.test.ts b/fluxer_api/src/api/stripe/tests/StripeWebhookCheckout.test.ts index 4f3248abb..5a32a27ca 100644 --- a/fluxer_api/src/api/stripe/tests/StripeWebhookCheckout.test.ts +++ b/fluxer_api/src/api/stripe/tests/StripeWebhookCheckout.test.ts @@ -226,45 +226,6 @@ describe('StripeWebhookService - checkout.session.completed', () => { .execute(); expect(user.premium_type).toBe(UserPremiumTypes.SUBSCRIPTION); }); - test('allows localized BRL checkout when the card is issued in Brazil', async () => { - const account = await createTestAccount(harness); - const sessionId = 'cs_localized_brl_card_br'; - const {PaymentRepository} = await import('@app/api/user/repositories/PaymentRepository'); - const {UserRepository} = await import('@app/api/user/repositories/UserRepository'); - const paymentRepository = new PaymentRepository(); - const userRepository = new UserRepository(); - await paymentRepository.createPayment({ - checkout_session_id: sessionId, - user_id: createUserID(BigInt(account.userId)), - price_id: MOCK_PRICES.monthlyBrl, - product_type: ProductType.MONTHLY_SUBSCRIPTION, - status: 'pending', - is_gift: false, - created_at: new Date(), - }); - const eventData = createCheckoutCompletedEvent({ - sessionId, - customerId: 'cus_localized_brl_card_br', - subscriptionId: 'sub_localized_brl_card_br', - paymentIntentId: 'pi_localized_brl_card_br', - amountTotal: 1288, - currency: 'brl', - metadata: {country_code: 'BR'}, - }); - const result = await sendWebhook(eventData); - expect(result.received).toBe(true); - const updatedPayment = await userRepository.getPaymentByCheckoutSession(sessionId); - expect(updatedPayment?.status).toBe('completed'); - expect(stripeHandlers.spies.createdRefunds).toHaveLength(0); - expect(stripeHandlers.spies.cancelledSubscriptions).toHaveLength(0); - expect(stripeHandlers.spies.retrievedPaymentIntents).toContain('pi_localized_brl_card_br'); - const user = await createBuilder<{ - premium_type: number; - }>(harness, account.token) - .get('/users/@me') - .execute(); - expect(user.premium_type).toBe(UserPremiumTypes.SUBSCRIPTION); - }); test('allows localized BRL PIX subscription checkout when checkout.session.completed has no payment intent', async () => { const account = await createTestAccount(harness); const sessionId = 'cs_localized_brl_pix_subscription'; @@ -410,173 +371,6 @@ describe('StripeWebhookService - checkout.session.completed', () => { .execute(); expect(user.premium_type).toBe(UserPremiumTypes.SUBSCRIPTION); }); - test('rejects localized BRL checkout when the card is issued outside Brazil', async () => { - const account = await createTestAccount(harness); - const sessionId = 'cs_localized_brl_card_us'; - const {PaymentRepository} = await import('@app/api/user/repositories/PaymentRepository'); - const {UserRepository} = await import('@app/api/user/repositories/UserRepository'); - const paymentRepository = new PaymentRepository(); - const userRepository = new UserRepository(); - await paymentRepository.createPayment({ - checkout_session_id: sessionId, - user_id: createUserID(BigInt(account.userId)), - price_id: MOCK_PRICES.monthlyBrl, - product_type: ProductType.MONTHLY_SUBSCRIPTION, - status: 'pending', - is_gift: false, - created_at: new Date(), - }); - const eventData = createCheckoutCompletedEvent({ - sessionId, - customerId: 'cus_localized_brl_card_us', - subscriptionId: 'sub_localized_brl_card_us', - paymentIntentId: 'pi_localized_brl_card_us', - amountTotal: 1288, - currency: 'brl', - metadata: {country_code: 'BR'}, - }); - const result = await sendWebhook(eventData); - expect(result.received).toBe(true); - const updatedPayment = await userRepository.getPaymentByCheckoutSession(sessionId); - expect(updatedPayment?.status).toBe('failed'); - expect(updatedPayment?.subscriptionId).toBe('sub_localized_brl_card_us'); - expect(stripeHandlers.spies.createdRefunds).toHaveLength(1); - expect(stripeHandlers.spies.cancelledSubscriptions).toContain('sub_localized_brl_card_us'); - const user = await createBuilder<{ - premium_type: number; - }>(harness, account.token) - .get('/users/@me') - .execute(); - expect(user.premium_type).toBe(UserPremiumTypes.NONE); - }); - test('continues localized card preapproval into paid checkout when the card matches the requested country', async () => { - const account = await createTestAccount(harness); - server.use( - http.get('https://api.stripe.com/v1/subscriptions', () => { - return HttpResponse.json({ - object: 'list', - url: '/v1/subscriptions', - has_more: false, - data: [], - }); - }), - ); - await createBuilder(harness, account.token) - .post(`/test/users/${account.userId}/security-flags`) - .body({email_verified: true}) - .execute(); - await createBuilder(harness, account.token) - .post(`/test/users/${account.userId}/premium`) - .body({stripe_customer_id: 'cus_test_existing'}) - .execute(); - const preapprovalResponse = await createBuilder<{ - url: string; - }>(harness, account.token) - .post('/stripe/checkout/subscription/preapproval') - .body({price_id: MOCK_PRICES.monthlyBrl, country_code: 'BR'}) - .execute(); - const preapprovalSession = stripeHandlers.spies.createdCheckoutSessions[0]; - const successUrl = new URL(preapprovalSession?.success_url ?? 'https://example.com'); - const token = successUrl.searchParams.get('token'); - const preapprovalSessionId = preapprovalResponse.url.split('/').pop(); - expect(token).toBeTruthy(); - expect(preapprovalSessionId).toBeTruthy(); - if (!token || !preapprovalSessionId) { - throw new Error('Expected localized card preapproval token and session id'); - } - const webhookResult = await sendWebhook( - createCheckoutCompletedEvent({ - sessionId: preapprovalSessionId, - customerId: 'cus_test_existing', - mode: 'setup', - setupIntentId: 'seti_localized_brl_card_br', - metadata: preapprovalSession?.metadata ?? {}, - }), - ); - expect(webhookResult.received).toBe(true); - const continueResponse = await createBuilder<{ - status: string; - url?: string; - }>(harness, '') - .post('/stripe/checkout/subscription/preapproval/continue') - .body({token}) - .execute(); - expect(continueResponse.status).toBe('ready'); - expect(continueResponse.url).toMatch(/^https:\/\/checkout\.stripe\.com/); - expect(stripeHandlers.spies.retrievedSetupIntents).toContain('seti_localized_brl_card_br'); - expect(stripeHandlers.spies.updatedCustomers).toContainEqual({ - id: 'cus_test_existing', - params: { - invoice_settings: { - default_payment_method: 'pm_localized_brl_card_br', - }, - }, - }); - expect(stripeHandlers.spies.createdCheckoutSessions).toHaveLength(2); - expect(stripeHandlers.spies.createdCheckoutSessions[1]?.mode).toBe('subscription'); - expect(stripeHandlers.spies.createdCheckoutSessions[1]?.customer).toBe('cus_test_existing'); - expect(stripeHandlers.spies.createdCheckoutSessions[1]?.metadata?.country_code).toBe('BR'); - }); - test('keeps localized card preapproval rejected when the card country does not match', async () => { - const account = await createTestAccount(harness); - server.use( - http.get('https://api.stripe.com/v1/subscriptions', () => { - return HttpResponse.json({ - object: 'list', - url: '/v1/subscriptions', - has_more: false, - data: [], - }); - }), - ); - await createBuilder(harness, account.token) - .post(`/test/users/${account.userId}/security-flags`) - .body({email_verified: true}) - .execute(); - await createBuilder(harness, account.token) - .post(`/test/users/${account.userId}/premium`) - .body({stripe_customer_id: 'cus_test_existing'}) - .execute(); - const preapprovalResponse = await createBuilder<{ - url: string; - }>(harness, account.token) - .post('/stripe/checkout/subscription/preapproval') - .body({price_id: MOCK_PRICES.monthlyBrl, country_code: 'BR'}) - .execute(); - const preapprovalSession = stripeHandlers.spies.createdCheckoutSessions[0]; - const successUrl = new URL(preapprovalSession?.success_url ?? 'https://example.com'); - const token = successUrl.searchParams.get('token'); - const preapprovalSessionId = preapprovalResponse.url.split('/').pop(); - expect(token).toBeTruthy(); - expect(preapprovalSessionId).toBeTruthy(); - if (!token || !preapprovalSessionId) { - throw new Error('Expected localized card preapproval token and session id'); - } - const webhookResult = await sendWebhook( - createCheckoutCompletedEvent({ - sessionId: preapprovalSessionId, - customerId: 'cus_test_existing', - mode: 'setup', - setupIntentId: 'seti_localized_brl_card_us', - metadata: preapprovalSession?.metadata ?? {}, - }), - ); - expect(webhookResult.received).toBe(true); - const continueResponse = await createBuilder<{ - status: string; - reason?: string; - actual_country?: string | null; - }>(harness, '') - .post('/stripe/checkout/subscription/preapproval/continue') - .body({token}) - .execute(); - expect(continueResponse.status).toBe('rejected'); - expect(continueResponse.reason).toBe('country_mismatch'); - expect(continueResponse.actual_country).toBe('US'); - expect(stripeHandlers.spies.retrievedSetupIntents).toContain('seti_localized_brl_card_us'); - expect(stripeHandlers.spies.updatedCustomers).toHaveLength(0); - expect(stripeHandlers.spies.createdCheckoutSessions).toHaveLength(1); - }); test('updates user with Stripe customer ID on first purchase', async () => { const account = await createTestAccount(harness); const sessionId = 'cs_first_purchase_customer_123'; @@ -799,38 +593,6 @@ describe('StripeWebhookService - checkout.session.completed', () => { expect(updatedPayment?.giftCode).not.toBeNull(); expect(stripeHandlers.spies.createdRefunds).toHaveLength(0); }); - test('rejects localized BRL gift checkout when the card is issued outside Brazil', async () => { - const account = await createTestAccount(harness); - const sessionId = 'cs_gift_brl_card_us'; - const {PaymentRepository} = await import('@app/api/user/repositories/PaymentRepository'); - const {UserRepository} = await import('@app/api/user/repositories/UserRepository'); - const paymentRepository = new PaymentRepository(); - const userRepository = new UserRepository(); - await paymentRepository.createPayment({ - checkout_session_id: sessionId, - user_id: createUserID(BigInt(account.userId)), - price_id: MOCK_PRICES.gift1MonthBrl, - product_type: ProductType.GIFT_1_MONTH, - status: 'pending', - is_gift: true, - created_at: new Date(), - }); - const eventData = createCheckoutCompletedEvent({ - sessionId, - customerId: 'cus_gift_brl_card_us', - paymentIntentId: 'pi_localized_brl_card_us', - amountTotal: 1288, - currency: 'brl', - mode: 'payment', - metadata: {country_code: 'BR'}, - }); - const result = await sendWebhook(eventData); - expect(result.received).toBe(true); - const updatedPayment = await userRepository.getPaymentByCheckoutSession(sessionId); - expect(updatedPayment?.status).toBe('failed'); - expect(updatedPayment?.giftCode).toBeNull(); - expect(stripeHandlers.spies.createdRefunds).toHaveLength(1); - }); }); describe('donation checkout', () => { test('handles donation without email gracefully', async () => { diff --git a/fluxer_api/src/api/worker/tasks/ProcessStripeWebhook.ts b/fluxer_api/src/api/worker/tasks/ProcessStripeWebhook.ts index ce4ceb669..771a60103 100644 --- a/fluxer_api/src/api/worker/tasks/ProcessStripeWebhook.ts +++ b/fluxer_api/src/api/worker/tasks/ProcessStripeWebhook.ts @@ -71,7 +71,6 @@ const processStripeWebhook: WorkerTaskHandler = async (payload, helpers) => { const refundService = new StripeRefundService(stripe, deps.userRepository, subscriptionService); const webhookService = new StripeWebhookService( stripe, - checkoutService, deps.userRepository, deps.userCacheService, sessionTerminator, diff --git a/fluxer_app/src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx b/fluxer_app/src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx index c0f9806cd..a4c20e792 100644 --- a/fluxer_app/src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx +++ b/fluxer_app/src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx @@ -3,7 +3,6 @@ import {GenericErrorModal} from '@app/features/app/components/alerts/GenericErrorModal'; import {ConfirmModal} from '@app/features/app/components/dialogs/ConfirmModal'; import { - BLIK_PAYMENT_METHOD, PAYMENT_PROVIDER_NAME, PIX_PAYMENT_METHOD, PREMIUM_PRODUCT_FULL_NAME, @@ -66,45 +65,6 @@ const USE_ALTERNATIVE_METHOD_BUTTON_DESCRIPTOR = msg({ message: 'Use alternative method', comment: 'Plutonium subscription payment method picker button. Selects the alternative (non-card) method.', }); -const LOCAL_CARD_PROMPT_BRL_DESCRIPTION_DESCRIPTOR = msg({ - message: - "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen.", - comment: - 'Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative.', -}); -const OTHER_METHODS_BUTTON_DESCRIPTOR = msg({ - message: 'Other methods', - comment: 'Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow.', -}); -const LOCAL_CARD_PROMPT_INR_DESCRIPTION_DESCRIPTOR = msg({ - message: - "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen.", - comment: - 'Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative.', -}); -const LOCAL_CARD_PROMPT_PLN_DESCRIPTION_DESCRIPTOR = msg({ - message: - "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead.", - comment: - 'Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout.', -}); -const CONTINUE_TO_CHECKOUT_BUTTON_DESCRIPTOR = msg({ - message: 'Continue to checkout', - comment: - 'Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen.', -}); -const LOCAL_CARD_PROMPT_TRY_DESCRIPTION_DESCRIPTOR = msg({ - message: - "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen.", - comment: - 'Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout.', -}); -const LOCAL_CARD_PROMPT_DEFAULT_DESCRIPTION_DESCRIPTOR = msg({ - message: - 'Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen.', - comment: - 'Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance.', -}); const EMAIL_VERIFICATION_REQUIRED_TITLE_DESCRIPTOR = msg({ message: 'Verify your email first', comment: 'Title of the error modal shown when an unverified account tries to purchase Plutonium.', @@ -187,36 +147,19 @@ const PLAN_UNAVAILABLE_TOAST_DESCRIPTOR = msg({ message: "This plan isn't available. Contact support.", comment: 'Error modal body shown when the selected Plutonium plan has no price ID configured.', }); -const VERIFY_CARD_MODAL_TITLE_DESCRIPTOR = msg({ - message: 'Verify card', - comment: 'Modal title for the mobile checkout confirmation when opening the localized card verification flow.', -}); const COMPLETE_PAYMENT_MODAL_TITLE_DESCRIPTOR = msg({ message: 'Complete payment', comment: 'Modal title for the mobile checkout confirmation when opening the payment provider in a browser.', }); -const VERIFY_CARD_MODAL_BODY_DESCRIPTOR = msg({ - message: - "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it.", - comment: 'Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path.', -}); const COMPLETE_PAYMENT_MODAL_BODY_DESCRIPTOR = msg({ message: "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it.", comment: 'Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay.', }); -const LOCALIZED_VERIFICATION_UNAVAILABLE_TOAST_DESCRIPTOR = msg({ - message: 'Localized card verification is not available right now. Try again later.', - comment: 'Error modal body shown when the localized card pre-approval session cannot be started.', -}); const CHOOSE_PAYMENT_METHOD_MODAL_TITLE_DESCRIPTOR = msg({ message: 'Choose payment method', comment: 'Modal title for the payment method picker (local card vs alternative method).', }); -const USE_LOCAL_CARD_BUTTON_DESCRIPTOR = msg({ - message: 'Use local card', - comment: 'Modal primary button to start the localized card pre-approval verification flow.', -}); const USE_CARD_BUTTON_DESCRIPTOR = msg({ message: 'Use card', comment: 'Modal secondary button to fall back to standard card checkout instead of an alternative payment method.', @@ -224,7 +167,6 @@ const USE_CARD_BUTTON_DESCRIPTOR = msg({ const logger = new Logger('useCheckoutActions'); type Plan = 'monthly' | 'yearly' | 'gift_1_month' | 'gift_1_year'; -type CheckoutPromptKind = 'payment' | 'localized_card_preapproval'; type PremiumPurchaseBlockedReason = 'lifetime' | 'existing_subscription' | 'purchase_disabled'; function getPremiumPurchaseBlockedStoreProvider(body: unknown): 'app_store' | 'google_play' | null { @@ -249,13 +191,7 @@ function getPremiumPurchaseBlockedReason(body: unknown): PremiumPurchaseBlockedR return null; } -function requiresLocalizedCardPreapproval( - _plan: Plan, - _currency: string | null | undefined, - _isGift: boolean, -): boolean { - return false; -} +const MANDATORY_LOCAL_PAYMENT_CURRENCIES: ReadonlySet = new Set(['BRL']); function alternativePaymentMethodForCurrency( currency: string | null | undefined, @@ -325,52 +261,6 @@ export const useCheckoutActions = ( }, [i18n], ); - const getLocalizedCardPrompt = useCallback( - (currency: string | null | undefined): {description: string; secondaryText: string} => { - switch (currency) { - case 'BRL': - return { - description: i18n._(LOCAL_CARD_PROMPT_BRL_DESCRIPTION_DESCRIPTOR, { - pixPaymentMethod: PIX_PAYMENT_METHOD, - paymentProviderName: PAYMENT_PROVIDER_NAME, - }), - secondaryText: i18n._(OTHER_METHODS_BUTTON_DESCRIPTOR), - }; - case 'INR': - return { - description: i18n._(LOCAL_CARD_PROMPT_INR_DESCRIPTION_DESCRIPTOR, { - upiPaymentMethod: UPI_PAYMENT_METHOD, - paymentProviderName: PAYMENT_PROVIDER_NAME, - }), - secondaryText: i18n._(OTHER_METHODS_BUTTON_DESCRIPTOR), - }; - case 'PLN': - return { - description: i18n._(LOCAL_CARD_PROMPT_PLN_DESCRIPTION_DESCRIPTOR, { - blikPaymentMethod: BLIK_PAYMENT_METHOD, - paymentProviderName: PAYMENT_PROVIDER_NAME, - paymentProviderName2: PAYMENT_PROVIDER_NAME, - }), - secondaryText: i18n._(CONTINUE_TO_CHECKOUT_BUTTON_DESCRIPTOR), - }; - case 'TRY': - return { - description: i18n._(LOCAL_CARD_PROMPT_TRY_DESCRIPTION_DESCRIPTOR, { - paymentProviderName: PAYMENT_PROVIDER_NAME, - }), - secondaryText: i18n._(CONTINUE_TO_CHECKOUT_BUTTON_DESCRIPTOR), - }; - default: - return { - description: i18n._(LOCAL_CARD_PROMPT_DEFAULT_DESCRIPTION_DESCRIPTOR, { - paymentProviderName: PAYMENT_PROVIDER_NAME, - }), - secondaryText: i18n._(OTHER_METHODS_BUTTON_DESCRIPTOR), - }; - } - }, - [i18n], - ); const handleCheckoutError = useCallback( (error: unknown) => { logger.error('Failed to create checkout session', error); @@ -560,31 +450,17 @@ export const useCheckoutActions = ( }; const openCheckoutUrl = async ( checkoutUrl: string, - { - promptKind = 'payment', - skipMobilePrompt = false, - }: {promptKind?: CheckoutPromptKind; skipMobilePrompt?: boolean} = {}, + {skipMobilePrompt = false}: {skipMobilePrompt?: boolean} = {}, ) => { if (mobileEnabled && !skipMobilePrompt) { ModalCommands.push( modal(() => ( { - if (!countryCode) { - showCheckoutPlanErrorModal( - i18n._(LOCALIZED_VERIFICATION_UNAVAILABLE_TOAST_DESCRIPTOR), - 'app.plutonium.use-checkout-actions.localized-verification-unavailable.generic-error-modal', - ); - return; - } - setLoadingCheckout(true); - try { - const checkoutUrl = await PremiumCommands.createLocalizedCardPreapprovalSession(priceId, countryCode); - await openCheckoutUrl(checkoutUrl, { - promptKind: 'localized_card_preapproval', - skipMobilePrompt, - }); - } catch (error) { - handleCheckoutError(error); - } finally { - setLoadingCheckout(false); - } - }; - if (requiresLocalizedCardPreapproval(plan, priceIds.currency, isGift)) { - const localizedCardPrompt = getLocalizedCardPrompt(priceIds.currency); - ModalCommands.push( - modal(() => ( - startLocalizedCardPreapproval({skipMobilePrompt: true})} - onSecondary={() => { - void startCheckout({skipMobilePrompt: true}); - }} - data-flx="app.plutonium.use-checkout-actions.handle-select-plan.confirm-modal" - /> - )), - ); + const altPaymentMethod = alternativePaymentMethodForCurrency(priceIds.currency, isGift, plan); + if (altPaymentMethod && MANDATORY_LOCAL_PAYMENT_CURRENCIES.has(priceIds.currency ?? '')) { + await startCheckout({paymentMethod: altPaymentMethod}); return; } - const altPaymentMethod = alternativePaymentMethodForCurrency(priceIds.currency, isGift, plan); if (altPaymentMethod) { const altPrompt = getAlternativePaymentMethodPrompt(priceIds.currency, altPaymentMethod); ModalCommands.push( @@ -694,7 +533,6 @@ export const useCheckoutActions = ( loadingCheckout, priceIds, countryCode, - getLocalizedCardPrompt, getAlternativePaymentMethodPrompt, isGiftSubscription, mobileEnabled, diff --git a/fluxer_app/src/features/app/constants/Endpoints.ts b/fluxer_app/src/features/app/constants/Endpoints.ts index b79793e76..92fc62b9f 100644 --- a/fluxer_app/src/features/app/constants/Endpoints.ts +++ b/fluxer_app/src/features/app/constants/Endpoints.ts @@ -141,8 +141,6 @@ export const Endpoints = { PREMIUM_REFUND_ELIGIBILITY: '/premium/refund-eligibility', PREMIUM_REFUND_LATEST: '/premium/refund-latest', STRIPE_CHECKOUT_SUBSCRIPTION: '/stripe/checkout/subscription', - STRIPE_CHECKOUT_SUBSCRIPTION_PREAPPROVAL: '/stripe/checkout/subscription/preapproval', - STRIPE_CHECKOUT_SUBSCRIPTION_PREAPPROVAL_CONTINUE: '/stripe/checkout/subscription/preapproval/continue', STRIPE_CHECKOUT_GIFT: '/stripe/checkout/gift', AGE_VERIFICATION: '/users/@me/age-verification', SWISH_AVAILABLE: '/swish/available', diff --git a/fluxer_app/src/features/i18n/locales/ar/messages.po b/fluxer_app/src/features/i18n/locales/ar/messages.po index fac756748..f6f55691b 100644 --- a/fluxer_app/src/features/i18n/locales/ar/messages.po +++ b/fluxer_app/src/features/i18n/locales/ar/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, zero {# تجاوز} one {تجاوز واحد} tw msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "يتولى {PAYMENT_PROVIDER_NAME} الدفع بأمان." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "سيتحقق {paymentProviderName} أولًا من أن بطاقتك مؤهلة للتسعير المحلي، ثم ينقلك إلى صفحة الدفع. ارجع إلى {productName} بعد إتمام الدفع." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "كل الرسائل المباشرة + المجتمعات" msgid "All DMs only" msgstr "كل الرسائل المباشرة فقط" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "اكتمل كل شيء" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "تم تقديم حالة غير صالحة. يمكنك إغلاق علامة التبويب هذه والعودة إلى التطبيق." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "تم تقديم حالة غير صالحة. يمكنك الآن إغلاق علامة التبويب هذه والعودة إلى التطبيق." @@ -6739,14 +6734,6 @@ msgstr "محاذاة البطاقة" msgid "Card alignment controls" msgstr "عناصر التحكم بمحاذاة البطاقة" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "البطاقة غير مؤهلة" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "تم إلغاء التحقق من البطاقة. يمكنك إغلاق علامة التبويب هذه والعودة إلى التطبيق." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "الدفع" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "تم حظر الدفع لهذا الحساب." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "عملية الدفع محظورة لهذا الحساب. تواصل مع {supportEmail} إذا كنت بحاجة إلى مساعدة." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "الدفع غير متاح" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "اختر كيفية عرض الأوقات في جميع أنحاء التطبيق" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "اختر طريقة الدفع المفضلة لاشتراكك." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "اختر إحدى الطرق أدناه لإثبات ملكية النطاق. تحتاج إلى إكمال طريقة واحدة فقط." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "اختيار طريقة الدفع" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "إكمال التحقق من المحتوى للبالغين" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "إتمام الدفع" @@ -9409,11 +9396,6 @@ msgstr "يمكن فتح قوائم السياق بالنقر بزر الفأرة msgid "Continue" msgstr "متابعة" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "متابعة الدفع" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "تعذر فتح نتيجة البحث" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "تعذّر بدء تفويض {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "تعذر بدء عملية الدفع" @@ -18574,7 +18556,7 @@ msgstr "قيمة redirect_uri غير صالحة" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "حالة غير صالحة" @@ -20067,11 +20049,6 @@ msgstr "تنسيق الوقت المحلي" msgid "Localization" msgstr "اللغة والمنطقة" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "التحقق المحلي من البطاقة غير متاح حاليًا. يُرجى المحاولة مرة أخرى لاحقًا." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "أخرى" msgid "Other devices" msgstr "أجهزة أخرى" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "طرق أخرى" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "ادفع مرة واحدة واحصل على رابط هدية لمشاركته. الهدايا لا تتجدد أبدًا." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "ادفع باستخدام {pixPaymentMethod} Automático لتفويض الرسوم المتكررة مباشرةً من حسابك في بنك برازيلي. أو اختر «استخدام البطاقة» لإدخال بطاقة ائتمان في الشاشة التالية لدى {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "ادفع باستخدام {upiPaymentMethod} لإعداد تفويض إلكتروني متوافق مع لوائح بنك الاحتياطي الهندي (RBI) من حسابك في بنك هندي. أو اختر «استخدام البطاقة» لإدخال بطاقة ائتمان في الشاشة التالية لدى {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "تم إلغاء الدفع" @@ -24980,7 +24952,7 @@ msgstr "تم إلغاء الدفع" msgid "Payment method" msgstr "طريقة الدفع" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "تم الدفع بنجاح" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "الأسعار" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "جارٍ تحميل الأسعار." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "الهدايا التي تم شراؤها" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "تم تعطيل عمليات الشراء لهذا الحساب." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "تم تعطيل عمليات الشراء لهذا الحساب. تواصل مع {supportEmail} إذا كنت تعتقد أن هذا خطأ." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "المشتريات غير متاحة" @@ -31635,7 +31607,7 @@ msgstr "حدث خطأ أثناء تحميل سجل النشاط." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "حدث خطأ أثناء إرسال رسالة التحقق عبر البريد الإلكتروني. يُرجى المحاولة مرة أخرى بعد قليل." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "حدث خطأ ما أثناء بدء عملية الدفع. يرجى المحاولة مرة أخرى بعد قليل." @@ -32672,16 +32644,6 @@ msgstr "إزالة التتبع" msgid "Strip tracking parameters from URLs" msgstr "إزالة معلمات التتبع من الروابط" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "لم يتمكن Stripe من التحقق من هذه البطاقة للأسعار المحلية. استخدم بطاقة أخرى، أو عد إلى {productName} واختر طريقة دفع أخرى." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "أفاد Stripe بأن البطاقة صادرة في {countryName}. للدفع بهذه العملة المحلية، استخدم بطاقة صادرة في بلد الفوترة الخاص بك، أو عد إلى {productName} واختر طريقة دفع أخرى." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "الاشتراك" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "الاشتراك موجود بالفعل" @@ -34051,11 +34013,6 @@ msgstr "هذه المكالمة مشفرة تشفيرًا تامًا بين ال msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "لا يمكن التراجع عن هذا الإجراء. يؤدي حذف التطبيق أيضًا إلى حذف البوت الخاص به." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "هذه البطاقة لا تتطابق مع بلد الفوترة الخاص بك، لذا لا يمكن استخدامها بهذه العملة المحلية. استخدم بطاقة محلية، أو عد إلى {productName} واختر طريقة دفع أخرى." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "هذه الأداة متاحة فقط في تطبيق سطح المكتب." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "هذه الخطة غير متاحة. اتصل بالدعم." @@ -34709,11 +34666,6 @@ msgstr "لم يعد هذا المستخدم موجودًا. يُرجى التح msgid "This user was force-added to this community by a platform administrator." msgstr "أضاف أحد مسؤولي المنصة هذا المستخدم إلى هذا المجتمع قسريًا." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "انتهت صلاحية جلسة التحقق هذه. ارجع إلى {productName} وابدأ عملية الدفع مرة أخرى." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "استخدام {everyoneMention}/{hereMention} و{rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "استخدام {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "استخدم {query} حيث يجب إدراج النص المراد ترجمته." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "استخدام {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "استخدام القيمة الفعلية" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "استخدام طريقة بديلة" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "استخدام لغة المتصفح لتنسيق الوقت" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "استخدام البطاقة" @@ -37099,36 +37051,6 @@ msgstr "استخدام السمة الداكنة القديمة (لوحة الأ msgid "Use light theme" msgstr "استخدام السمة الفاتحة" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "استخدام بطاقة محلية" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "اختر «استخدام بطاقة محلية» للتحقق من بطاقة صادرة في البرازيل قبل إتمام الدفع بالريال البرازيلي. اختر «طرق أخرى» إذا كنت تفضل تجربة {pixPaymentMethod} أو طريقة دفع أخرى يقدمها {paymentProviderName} على الشاشة التالية." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "اختر «استخدام بطاقة محلية» للتحقق من بطاقة صادرة في الهند قبل إتمام الدفع بالروبية الهندية. اختر «طرق أخرى» إذا كنت تفضل تجربة {upiPaymentMethod} أو طريقة دفع أخرى يقدمها {paymentProviderName} على الشاشة التالية." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "اختر «استخدام بطاقة محلية» للتحقق من بطاقة صادرة في بولندا قبل إتمام الدفع بالزلوتي البولندي. لا يدعم {blikPaymentMethod} الاشتراكات في شاشة الدفع الخاصة بـ {paymentProviderName}، لذا تابع فقط إذا كنت تريد شاشة الدفع القياسية الخاصة بـ {paymentProviderName2} بدلًا من ذلك." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "اختر «استخدام بطاقة محلية» للتحقق من بطاقة صادرة في تركيا قبل إتمام الدفع بالليرة التركية. لا تتوفر هنا طريقة اشتراك محلية عبر التطبيق، لذا ستنقلك المتابعة إلى شاشة الدفع القياسية الخاصة بـ {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "اختر «استخدام بطاقة محلية» للتحقق من بطاقة صادرة في بلد الفوترة الخاص بك قبل إتمام الدفع. اختر «طرق أخرى» لأي طريقة دفع أخرى يقدمها {paymentProviderName} على الشاشة التالية." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "حواجز التحقق والعضوية" msgid "Verification barrier" msgstr "حاجز التحقق" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "تم إلغاء التحقق" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "تم إرسال رسالة تحقق إلى بريدك الإلكترون #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "انتهت صلاحية التحقق" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "تعذّر التحقق" @@ -37622,11 +37538,6 @@ msgstr "مجتمع موثّق" msgid "Verify" msgstr "تحقق" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "التحقق من البطاقة" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "التحقق من الرمز" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "تحقق من بريدك الإلكتروني قبل إرسال طلبات الصداقة." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "تحقق من بريدك الإلكتروني أولاً" @@ -37744,10 +37655,6 @@ msgstr "تحقق من بريدك الإلكتروني لشراء {premiumProduct msgid "Verify your email to start DMs." msgstr "تحقق من بريدك الإلكتروني لبدء الرسائل المباشرة." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "جارٍ التحقق من البطاقة" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "جارٍ التحقق من الرمز…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "شريط تنبيه المصادقة الثنائية لـ Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "يتضمن Visionary بالفعل وصولاً دائمًا، لذا لا يلزم اشتراك متكرر. لا يزال بإمكانك شراء هدايا للآخرين." @@ -38611,11 +38518,6 @@ msgstr "تتولى أداة xdg-desktop-portal في Wayland نافذة الاخ msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "تتولى أداة xdg-desktop-portal في Wayland نافذة الاختيار وتعرض كل النوافذ والشاشات معًا. لا يوجد خيار يحصرها في النوافذ فقط. اضغط على \"فتح منتقي النظام\"، ثم اختر نافذة من هناك للحصول على صوت كل تطبيق على حدة." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "تعذر علينا تأكيد بطاقتك الآن. يُرجى تحديث هذه الصفحة أو العودة إلى {productName} والمحاولة مرة أخرى." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "تعذّر علينا إزالة هذا الحساب. يُرجى المحاولة مرة أخرى." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} على هذا الحساب. يمكنك إدارته في بوابة الفوترة الآمنة لتحديث تفاصيل الدفع أو التحقق من حالة التجديد. إذا كنت قد دفعت للتو، فانتظر دقيقة وأعد فتح هذه الصفحة." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "أنت الآن مطوّر!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "أنت الآن تنتقل إلى {paymentProviderName} لإتمام الدفع. عد إلى {productName} بمجرد الانتهاء." @@ -39488,7 +39390,7 @@ msgstr "يمكنك إغلاق هذه النافذة. سيستمر الاستير msgid "You can close this tab" msgstr "يمكنك إغلاق علامة التبويب هذه" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "يمكنك الآن إغلاق علامة التبويب هذه والعودة إلى التطبيق." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "يجب عليك التحقق من عنوان بريدك الإلكتروني قبل أن تتمكن من بدء رسالة مباشرة." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "يجب عليك التحقق من بريدك الإلكتروني قبل أن تتمكن من شراء {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "أنت صديق لهذا المستخدم بالفعل." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "أنت من فئة Visionary بالفعل" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "لقد تجاوزت الحد المسموح به. انتظر {duration} قبل المحاولة مرة أخرى." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "لديك حاليًا اشتراك مُهدى. لن يتجدد. يمكنك استرداد المزيد من رموز الهدايا لتمديده. يمكنك بدء اشتراك متكرر بعد انتهاء مدة هديتك." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "لقد اطلعت على جميع إشاراتك الأخيرة. سيظهر المزيد هنا قريبًا." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "تتم فوترة اشتراكك في {premiumProductFullName} عبر {storeName}. يمكنك إدارته من حسابك في {storeName} لتغيير خطتك أو التحقق من حالة التجديد." @@ -40316,14 +40218,6 @@ msgstr "طلبك قيد المراجعة. لا يزال بإمكانك تحدي msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "يتطلب متصفحك تفاعلًا من المستخدم قبل تشغيل الصوت. انقر على الزر أدناه لتمكين الدردشة الصوتية." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "جارٍ التحقق من بطاقتك لمعرفة الأسعار المحلية. يستغرق هذا عادةً لحظة." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "بطاقتك مؤهلة. سيتم توجيهك إلى صفحة الدفع الآن." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "لم يعد آخر شراء لك ضمن فترة استرداد الأم msgid "Your new nickname, or leave blank to reset it." msgstr "اسمك المستعار الجديد، أو اتركه فارغًا لإعادة تعيينه." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "تم إلغاء عملية الدفع. يمكنك الآن إغلاق علامة التبويب هذه والعودة إلى التطبيق." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "تم الدفع بنجاح. يمكنك الآن إغلاق علامة التبويب هذه والعودة إلى التطبيق." diff --git a/fluxer_app/src/features/i18n/locales/bg/messages.po b/fluxer_app/src/features/i18n/locales/bg/messages.po index 36c08def7..2c9fd365d 100644 --- a/fluxer_app/src/features/i18n/locales/bg/messages.po +++ b/fluxer_app/src/features/i18n/locales/bg/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# презаписване} other {# пре msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} обработва плащанията сигурно." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} първо ще провери дали картата ти отговаря на условията за локализирани цени, след което ще те насочи към плащането. Върни се в {productName}, след като приключиш." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Всички DM + общности" msgid "All DMs only" msgstr "Само всички DM" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Готово" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Получен е невалиден статус. Можеш да затвориш този раздел и да се върнеш в приложението." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Получен е невалиден статус. Вече можеш да затвориш този раздел и да се върнеш в приложението." @@ -6739,14 +6734,6 @@ msgstr "Подравняване на картата" msgid "Card alignment controls" msgstr "Контроли за подравняване на картата" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Картата не отговаря на условията" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Проверката на картата беше отменена. Можеш да затвориш този раздел и да се върнеш към приложението." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Плащане" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Плащането е блокирано за този акаунт." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Плащането е блокирано за този акаунт. Свържи се с {supportEmail}, ако имаш нужда от помощ." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Плащането е недостъпно" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Избери как да се показват часовете в приложението" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Избери как искаш да платиш за този абонамент." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Избери един от методите по-долу, за да докажеш собствеността върху домейна. Трябва да изпълниш само един." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Избери начин на плащане" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Завършване на проверката за съдържание за възрастни" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Завършване на плащането" @@ -9409,11 +9396,6 @@ msgstr "Контекстните менюта могат да се отваря msgid "Continue" msgstr "Продължи" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Продължи към плащане" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Неуспешно отваряне на резултат от търс #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Неуспешно стартиране на оторизацията за {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Неуспешно стартиране на плащането" @@ -18574,7 +18556,7 @@ msgstr "Невалиден redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Невалиден статус" @@ -20067,11 +20049,6 @@ msgstr "Формат на часа според езика" msgid "Localization" msgstr "Локализация" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Локализираната проверка на картата не е налична в момента. Опитай отново по-късно." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Друго" msgid "Other devices" msgstr "Други устройства" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Други методи" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Платете веднъж и получете връзка за подарък за споделяне. Подаръците никога не се подновяват." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Плати с {pixPaymentMethod} Automático, за да разрешиш повтарящи се такси директно от бразилската си банка. Или избери „Използване на карта“, за да въведеш кредитна карта на следващия екран на {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Плати с {upiPaymentMethod}, за да настроиш съвместим с RBI електронен мандат от индийската си банка. Или избери „Използване на карта“, за да въведеш кредитна карта на следващия екран на {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Плащането е анулирано" @@ -24980,7 +24952,7 @@ msgstr "Плащането е анулирано" msgid "Payment method" msgstr "Начин на плащане" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Плащането е успешно" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Цени" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Цените все още се зареждат." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Закупени подаръци" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Покупки за този акаунт са деактивирани." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Покупките са деактивирани за този акаунт. Свържи се с {supportEmail}, ако това изглежда грешно." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Покупките не са достъпни" @@ -31635,7 +31607,7 @@ msgstr "Възникна проблем при зареждането на дн #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Нещо се обърка при изпращането на имейла за потвърждение. Опитай отново след малко." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Нещо се обърка при стартирането на плащането. Опитай отново след малко." @@ -32672,16 +32644,6 @@ msgstr "Премахване на проследяване" msgid "Strip tracking parameters from URLs" msgstr "Премахване на параметри за проследяване от URL адреси" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe не успя да потвърди тази карта за локализирани цени. Използвай друга карта или се върни към {productName} и избери друг метод на плащане." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe съобщи за карта, издадена в {countryName}. За да платиш в тази локализирана валута, използвай карта, издадена в държавата ти за фактуриране, или се върни към {productName} и избери друг метод на плащане." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Абонамент" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Вече имаш абонамент" @@ -34051,11 +34013,6 @@ msgstr "Този разговор е криптиран от край до кр msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Това действие не може да бъде отменено. Премахването на приложението изтрива и неговия бот." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Тази карта не съответства на държавата ти за фактуриране, така че не може да се използва за тази локализирана валута. Използвай местна карта или се върни към {productName} и избери друг метод на плащане." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Този инструмент за избор е наличен само в настолното приложение." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Този план не е наличен. Свържи се с поддръжката." @@ -34709,11 +34666,6 @@ msgstr "Този потребител вече не съществува. Обн msgid "This user was force-added to this community by a platform administrator." msgstr "Този потребител беше принудително добавен към общността от администратор на платформата." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Сесията за потвърждение изтече. Върни се в {productName} и започни плащането отново." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Използване на {everyoneMention}/{hereMention} и {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Използвай {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Използвай {query} там, където трябва да се вмъкне текстът за превод." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Използвай {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Използване на действителна стойност" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Използвай друг метод" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Използване на езиковите настройки на браузъра за формат на часа" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Използвай карта" @@ -37099,36 +37051,6 @@ msgstr "Използване на старата тъмна тема (ориги msgid "Use light theme" msgstr "Използване на светла тема" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Използвай местна карта" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Използвай местна карта, за да провериш карта, издадена в Бразилия, преди плащането в BRL. Избери други методи, ако предпочиташ да опиташ {pixPaymentMethod} или друг метод на плащане, който {paymentProviderName} предлага на следващия екран." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Използвай местна карта, за да провериш карта, издадена в Индия, преди плащането в INR. Избери други методи, ако предпочиташ да опиташ {upiPaymentMethod} или друг метод на плащане, който {paymentProviderName} предлага на следващия екран." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Използвай местна карта, за да провериш карта, издадена в Полша, преди плащането в PLN. {blikPaymentMethod} не поддържа абонаменти при плащане през {paymentProviderName}, така че продължи само ако вместо това искаш стандартния екран за плащане на {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Използвай местна карта, за да провериш карта, издадена в Турция, преди плащането в TRY. Тук няма локален метод за абонамент в приложение, така че продължаването ще те отведе до стандартния екран за плащане на {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Използвай местна карта, за да провериш карта, издадена в държавата ти на фактуриране, преди плащането. Избери други методи за всеки друг начин на плащане, който {paymentProviderName} предлага на следващия екран." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Бариери за потвърждение и членство" msgid "Verification barrier" msgstr "Бариера за потвърждение" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Проверката е отменена" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Изпратен е имейл за потвърждение. Прове #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Потвърждението изтече" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Неуспешно потвърждение" @@ -37622,11 +37538,6 @@ msgstr "Верифицирана общност" msgid "Verify" msgstr "Потвърди" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Провери картата" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Потвърди кода" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Потвърди имейла си, преди да изпращаш покани за приятелство." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Първо потвърди имейла си" @@ -37744,10 +37655,6 @@ msgstr "Потвърди имейла си, за да закупиш {premiumPro msgid "Verify your email to start DMs." msgstr "Потвърди имейла си, за да започнеш DM." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Проверяване на картата" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Проверяване на кода…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Лента за Visionary 2FA" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Визионер вече включва постоянен достъп, така че не е необходим абонамент с периодично плащане. Все още можеш да купуваш подаръци за други." @@ -38611,11 +38518,6 @@ msgstr "xdg-desktop-portal на Wayland управлява избора и по msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "xdg-desktop-portal на Wayland управлява избора и показва всички прозорци и дисплеи заедно. Няма флаг, който да го ограничи само до прозорци. Натисни „Отваряне на системния инструмент за избор“ и след това избери прозорец там, за да получиш звука на конкретно приложение." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "В момента не можем да потвърдим картата ти. Презареди тази страница или се върни към {productName} и опитай отново." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Не успяхме да премахнем този акаунт. Опитай отново." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} за този акаунт. Управлявай го в защитения портал за плащане, за да актуализираш данните за плащане или да провериш състоянието на подновяването. Ако току-що плати, изчакай минута и отвори страницата отново." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Вече си разработчик!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Прехвърляме те към {paymentProviderName}, за да завършиш плащането. Върни се във {productName}, след като приключиш." @@ -39488,7 +39390,7 @@ msgstr "Можеш да затвориш този прозорец. Импорт msgid "You can close this tab" msgstr "Можеш да затвориш този раздел" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Вече можеш да затвориш този раздел и да се върнеш към приложението." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Трябва да потвърдиш имейл адреса си, преди да можеш да започнеш директно съобщение." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Трябва да потвърдиш имейла си, преди да можеш да закупиш {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Вече сте приятели с този потребител." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Вече си Визионер" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Достигна лимита за заявки. Изчакай {duration}, преди да опиташ отново." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "В момента ползваш абонамент подарък. Той няма да се поднови. Можеш да осребриш още кодове за подарък, за да го удължиш. Можеш да започнеш редовен абонамент, след като подареното време изтече." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Прегледа всичките си скорошни споменавания. Скоро тук ще се появят още." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Абонаментът ти за {premiumProductFullName} се таксува чрез {storeName}. Управлявай го в акаунта си в {storeName}, за да смениш плана си или да провериш състоянието на подновяването." @@ -40316,14 +40218,6 @@ msgstr "Заявлението ти е в процес на преглед. Вс msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Браузърът ти изисква взаимодействие с потребителя, преди да пусне звук. Натисни бутона по-долу, за да включиш гласовия чат." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Проверяваме картата ти за локализирани цени. Това обикновено отнема само момент." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Картата ти отговаря на условията. Пренасочваме те към страницата за плащане." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Последната ти покупка вече не е в срока msgid "Your new nickname, or leave blank to reset it." msgstr "Новият ти прякор или остави празно, за да го нулираш." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Плащането ти беше отменено. Вече можеш да затвориш този раздел и да се върнеш в приложението." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Плащането ти беше успешно. Вече можеш да затвориш този раздел и да се върнеш в приложението." diff --git a/fluxer_app/src/features/i18n/locales/cs/messages.po b/fluxer_app/src/features/i18n/locales/cs/messages.po index 089a0ac48..2bc281e9d 100644 --- a/fluxer_app/src/features/i18n/locales/cs/messages.po +++ b/fluxer_app/src/features/i18n/locales/cs/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# přepsání} other {# přepsání}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} zpracovává platby bezpečně." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} nejprve ověří, zda vaše karta splňuje podmínky pro místní ceny, a poté vás přesměruje k platbě. Po dokončení se vraťte do aplikace {productName}." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Všechny soukromé konverzace + komunity" msgid "All DMs only" msgstr "Pouze všechny soukromé konverzace" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Hotovo" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Byl poskytnut neplatný stav. Můžete zavřít tuto kartu a vrátit se do aplikace." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Byl poskytnut neplatný stav. Nyní můžete tuto kartu zavřít a vrátit se do aplikace." @@ -6739,14 +6734,6 @@ msgstr "Zarovnání karty" msgid "Card alignment controls" msgstr "Ovládací prvky zarovnání karty" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Karta nesplňuje podmínky" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Ověření karty bylo zrušeno. Můžete zavřít tuto kartu a vrátit se do aplikace." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Dokončení nákupu" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Platba je pro tento účet zablokována." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Nákupy jsou pro tento účet zablokovány. Pokud potřebujete pomoc, napište na {supportEmail}." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Dokončení nákupu není k dispozici" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Zvolte, jak se má zobrazovat čas v celé aplikaci" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Zvolte, jak chcete zaplatit za toto předplatné." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Zvolte jednu z níže uvedených metod k prokázání vlastnictví domény. Stačí dokončit jen jednu." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Zvolte způsob platby" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Dokončit ověření věku pro obsah pro dospělé" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Dokončit platbu" @@ -9409,11 +9396,6 @@ msgstr "Kontextové nabídky lze otevřít levým kliknutím (na tlačítka) neb msgid "Continue" msgstr "Pokračovat" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Pokračovat k platbě" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,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 grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Nepodařilo se spustit autorizaci pro {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Nepodařilo se spustit platbu" @@ -18574,7 +18556,7 @@ msgstr "Neplatný parametr redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Neplatný stav" @@ -20067,11 +20049,6 @@ msgstr "Formát času podle místního nastavení" msgid "Localization" msgstr "Lokalizace" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Ověření karty pro místní ceny teď není dostupné. Zkuste to později." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Jiné" msgid "Other devices" msgstr "Další zařízení" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Jiné metody" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Zaplaťte jednou a získejte odkaz na dárek ke sdílení. Dárky se nikdy neobnovují." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Zaplaťte pomocí {pixPaymentMethod} Automático a povolte opakované platby přímo ze svého brazilského bankovního účtu. Nebo zvolte „Použít kartu“ a na další obrazovce poskytovatele {paymentProviderName} zadejte kreditní kartu." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Zaplaťte pomocí {upiPaymentMethod} a nastavte elektronický mandát své indické banky v souladu s pravidly RBI. Nebo zvolte „Použít kartu“ a na další obrazovce poskytovatele {paymentProviderName} zadejte kreditní kartu." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Platba zrušena" @@ -24980,7 +24952,7 @@ msgstr "Platba zrušena" msgid "Payment method" msgstr "Platební metoda" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Platba proběhla úspěšně" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Ceny" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Ceny se stále načítají." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Zakoupené dárky" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Nákupy jsou pro tento účet zakázány." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Nákupy jsou pro tento účet zakázány. Pokud se domníváte, že jde o chybu, napište na {supportEmail}." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Nákupy nejsou k dispozici" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Při odesílání ověřovacího e-mailu se něco pokazilo. Zkuste to prosím za chvíli znovu." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Při zahájení platby se něco pokazilo. Zkuste to prosím za chvíli znovu." @@ -32672,16 +32644,6 @@ msgstr "Odstranit sledování" msgid "Strip tracking parameters from URLs" msgstr "Odstranit parametry sledování z URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe nemohl ověřit tuto kartu pro místní ceny. Použijte jinou kartu nebo se vraťte do aplikace {productName} a vyberte jinou platební metodu." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe uvedl, že karta byla vydána v zemi {countryName}. Chcete-li platit v této místní měně, použijte kartu vydanou ve vaší fakturační zemi nebo se vraťte do aplikace {productName} a vyberte jinou platební metodu." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Předplatné" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Předplatné už existuje" @@ -34051,11 +34013,6 @@ msgstr "Tento hovor je chráněn koncovým šifrováním." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Tuto akci nelze vrátit zpět. Odebráním aplikace se odstraní i její bot." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Tato karta neodpovídá vaší fakturační zemi, proto ji nelze použít pro tuto místní měnu. Použijte místní kartu nebo se vraťte do aplikace {productName} a vyberte jinou platební metodu." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Tento panel výběru je dostupný pouze v desktopové aplikaci." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Tento tarif není k dispozici. Kontaktujte podporu." @@ -34709,11 +34666,6 @@ msgstr "Tento uživatel již neexistuje. Obnovte stránku a zkuste to znovu." msgid "This user was force-added to this community by a platform administrator." msgstr "Tohoto uživatele do komunity nuceně přidal administrátor platformy." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Platnost ověřovací relace vypršela. Vraťte se do aplikace {productName} a spusťte platbu znovu." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Používat {everyoneMention}/{hereMention} a {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Použít {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Použijte {query} tam, kam se má vložit text k překladu." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Použít {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Použít skutečnou hodnotu" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Použít jinou metodu" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Použít pro formát času národní nastavení prohlížeče" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Použít kartu" @@ -37099,36 +37051,6 @@ msgstr "Použít starý tmavý motiv (původní neutrální šedá paleta)" msgid "Use light theme" msgstr "Použít světlý motiv" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Použít místní kartu" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Volbou Použít místní kartu ověříte kartu vydanou v Brazílii před samotnou platbou v BRL. Pokud chcete raději použít {pixPaymentMethod} nebo jinou platební metodu, kterou {paymentProviderName} nabídne na další obrazovce, zvolte jiné metody." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Volbou Použít místní kartu ověříte kartu vydanou v Indii před samotnou platbou v INR. Pokud chcete raději použít {upiPaymentMethod} nebo jinou platební metodu, kterou {paymentProviderName} nabídne na další obrazovce, zvolte jiné metody." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Volbou Použít místní kartu ověříte kartu vydanou v Polsku před samotnou platbou v PLN. {blikPaymentMethod} nepodporuje předplatné v platební bráně {paymentProviderName}, takže pokračujte jen tehdy, pokud místo toho chcete standardní platební obrazovku poskytovatele {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Volbou Použít místní kartu ověříte kartu vydanou v Turecku před samotnou platbou v TRY. Zde není dostupná místní platební aplikace podporující předplatné, takže pokračováním přejdete na standardní platební obrazovku poskytovatele {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Volbou Použít místní kartu ověříte kartu vydanou ve vaší fakturační zemi před samotnou platbou. Pro kteroukoli jinou platební metodu, kterou {paymentProviderName} nabízí na další obrazovce, zvolte jiné metody." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Ověření a bariéry členství" msgid "Verification barrier" msgstr "Ověřovací bariéra" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Ověření zrušeno" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Ověřovací e-mail byl odeslán. Zkontrolujte si doručenou poštu." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Ověření vypršelo" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Ověření se nezdařilo" @@ -37622,11 +37538,6 @@ msgstr "Ověřená komunita" msgid "Verify" msgstr "Ověřit" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Ověřit kartu" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Ověřit kód" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Před odesláním žádostí o přátelství si ověřte svůj e-mail." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Nejprve ověřte svůj e-mail" @@ -37744,10 +37655,6 @@ msgstr "Ověřte svůj e-mail, abyste si mohli zakoupit {premiumProductFullName} msgid "Verify your email to start DMs." msgstr "Ověřte svůj e-mail, abyste mohli zahajovat soukromé konverzace." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Ověřování karty" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Ověřování kódu…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Upozornění na dvoufaktorové ověřování pro Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary už zahrnuje trvalý přístup, takže opakované předplatné není potřeba. Stále můžete kupovat dárky pro ostatní." @@ -38611,11 +38518,6 @@ msgstr "Výběr spravuje xdg-desktop-portal ve Waylandu a zobrazuje všechna okn msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Výběr spravuje xdg-desktop-portal ve Waylandu a zobrazuje všechna okna a obrazovky společně. Neexistuje přepínač, který by výběr omezil jen na okna. Klikněte na „Otevřít systémový výběr“ a vyberte okno, aby se snímal zvuk dané aplikace." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Momentálně nemůžeme potvrdit vaši kartu. Obnovte tuto stránku nebo se vraťte do aplikace {productName} a zkuste to znovu." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Tento účet se nám nepodařilo odebrat. Zkuste to znovu." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Nyní jste vývojář!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Nyní přecházíte na {paymentProviderName} k dokončení platby. Po dokončení se vraťte do aplikace {productName}." @@ -39488,7 +39390,7 @@ msgstr "Můžete zavřít toto okno. Import bude pokračovat na pozadí." msgid "You can close this tab" msgstr "Tuto kartu můžete zavřít" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Nyní můžete zavřít tuto kartu a vrátit se do aplikace." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Než budete moci zahájit soukromou konverzaci, musíte ověřit svou e-mailovou adresu." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Než si budete moct zakoupit {premiumProductFullName}, musíte si ověřit e-mail." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "S tímto uživatelem už jste přátelé." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Už máte Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Překročili jste povolenou frekvenci požadavků. Před dalším pokusem počkejte {duration}." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Momentálně máte dárkové předplatné. Nebude se automaticky obnovovat. Můžete uplatnit další dárkové kódy a prodloužit ho. Opakující se předplatné lze spustit po skončení vašeho dárkového předplatného." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Všechny nedávné zmínky jste si prohlédli. Další se zde brzy objeví." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Vaše předplatné {premiumProductFullName} je účtováno přes {storeName}. Spravujte ho ve svém účtu {storeName}, kde můžete změnit tarif nebo zkontrolovat stav obnovení." @@ -40316,14 +40218,6 @@ msgstr "Vaše žádost čeká na posouzení. Stále můžete upravovat údaje v msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Váš prohlížeč vyžaduje interakci uživatele, než bude možné přehrát zvuk. Kliknutím na tlačítko níže povolíte hlasový chat." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Ověřujeme vaši kartu kvůli místním cenám. Obvykle to chvíli trvá." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Vaše karta je způsobilá. Nyní vás přesměrujeme na platební stránku." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Lhůta pro vrácení peněz za váš poslední nákup již uplynula. S p msgid "Your new nickname, or leave blank to reset it." msgstr "Vaše nová přezdívka. Chcete-li ji zrušit, nechte pole prázdné." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Platba byla zrušena. Nyní můžete zavřít tuto kartu a vrátit se do aplikace." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Platba proběhla úspěšně. Nyní můžete zavřít tuto kartu a vrátit se do aplikace." diff --git a/fluxer_app/src/features/i18n/locales/da/messages.po b/fluxer_app/src/features/i18n/locales/da/messages.po index 808d6823c..3493749ee 100644 --- a/fluxer_app/src/features/i18n/locales/da/messages.po +++ b/fluxer_app/src/features/i18n/locales/da/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# tilpasning} other {# tilpasninger}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} håndterer betaling sikkert." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} kontrollerer først, om dit kort opfylder betingelserne for lokal prissætning, og sender dig derefter videre til betalingen. Vend tilbage til {productName}, når du er færdig." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Alle DM'er + fællesskaber" msgid "All DMs only" msgstr "Kun alle direkte beskeder" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Færdig" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Der blev angivet en ugyldig status. Du kan lukke denne fane og vende tilbage til appen." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Der blev angivet en ugyldig status. Du kan nu lukke denne fane og vende tilbage til appen." @@ -6739,14 +6734,6 @@ msgstr "Placering af kort" msgid "Card alignment controls" msgstr "Kontroller til placering af kort" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Kortet opfylder ikke kravene" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Kortbekræftelse blev annulleret. Du kan lukke denne fane og vende tilbage til appen." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Betaling" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Betaling er blokeret for denne konto." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Betaling er blokeret for denne konto. Kontakt {supportEmail}, hvis du har brug for hjælp." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Betaling ikke tilgængelig" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Vælg, hvordan klokkeslæt vises i appen" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Vælg, hvordan du vil betale for dette abonnement." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Vælg en af metoderne herunder for at bevise ejerskab af domænet. Du behøver kun at gennemføre én." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Vælg betalingsmetode" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Gennemfør adgangsbekræftelsen for indhold for voksne" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Gennemfør betaling" @@ -9409,11 +9396,6 @@ msgstr "Genvejsmenuer kan åbnes med venstreklik (på knapper) eller højreklik msgid "Continue" msgstr "Fortsæt" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Fortsæt til betaling" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Kunne ikke åbne søgeresultat" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Kunne ikke starte godkendelse af {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Kunne ikke starte betaling" @@ -18574,7 +18556,7 @@ msgstr "Ugyldig redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Ugyldig status" @@ -20067,11 +20049,6 @@ msgstr "Tidsformat for sprog og område" msgid "Localization" msgstr "Sprog og område" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Kortbekræftelse til lokale priser er ikke tilgængelig lige nu. Prøv igen senere." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Andet" msgid "Other devices" msgstr "Andre enheder" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Andre metoder" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Betal én gang og få et gavelink til deling. Gaver fornyes aldrig." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Betal med {pixPaymentMethod} Automático for at godkende tilbagevendende betalinger direkte fra din brasilianske bank. Eller vælg \"Brug kort\" for at indtaste et kreditkort på næste skærm hos {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Betal med {upiPaymentMethod} for at oprette et elektronisk betalingsmandat fra din indiske bank, der overholder RBI-kravene. Eller vælg \"Brug kort\" for at indtaste et kreditkort på næste skærm hos {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Betaling annulleret" @@ -24980,7 +24952,7 @@ msgstr "Betaling annulleret" msgid "Payment method" msgstr "Betalingsmetode" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Betaling gennemført" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Priser" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Priser indlæses stadig." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Købte gaver" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Køb er deaktiveret for denne konto." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Køb er deaktiveret for denne konto. Kontakt {supportEmail}, hvis dette ser forkert ud." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Køb er ikke tilgængelige" @@ -31635,7 +31607,7 @@ msgstr "Der opstod en fejl under indlæsning af aktivitetsloggen." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Der opstod en fejl under afsendelse af din bekræftelsesmail. Prøv venligst igen om et øjeblik." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Der opstod en fejl under start af betaling. Prøv venligst igen om et øjeblik." @@ -32672,16 +32644,6 @@ msgstr "Fjern sporing" msgid "Strip tracking parameters from URLs" msgstr "Fjern sporingsparametre fra webadresser" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe kunne ikke godkende dette kort til lokale priser. Brug et andet kort, eller vend tilbage til {productName} og vælg en anden betalingsmetode." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe rapporterede et kort udstedt i {countryName}. For at betale i denne lokale valuta skal du bruge et kort udstedt i dit faktureringsland eller vende tilbage til {productName} og vælge en anden betalingsmetode." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Abonnement" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Abonnementet findes allerede" @@ -34051,11 +34013,6 @@ msgstr "Dette opkald er ende-til-ende-krypteret." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Dette kan ikke fortrydes. Hvis du fjerner applikationen, slettes dens bot også." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Dette kort er ikke fra dit faktureringsland, så det kan ikke bruges til denne lokale valuta. Brug et lokalt kort, eller vend tilbage til {productName} og vælg en anden betalingsmetode." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Denne vælger er kun tilgængelig i computerappen." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Dette abonnement er ikke tilgængeligt. Kontakt support." @@ -34709,11 +34666,6 @@ msgstr "Denne bruger findes ikke længere. Opdater, og prøv igen." msgid "This user was force-added to this community by a platform administrator." msgstr "En platformadministrator har tilføjet denne bruger til fællesskabet uden brugerens godkendelse." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Denne bekræftelsessession er udløbet. Vend tilbage til {productName}, og start betalingen igen." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Brug {everyoneMention}/{hereMention} og {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Brug {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Brug {query}, hvor teksten, der skal oversættes, skal indsættes." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Brug {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Brug faktisk værdi" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Brug en anden metode" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Brug browserens landestandard til tidsformat" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Brug kort" @@ -37099,36 +37051,6 @@ msgstr "Brug ældre mørkt tema (oprindelig neutral grå palet)" msgid "Use light theme" msgstr "Brug lyst tema" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Brug lokalt kort" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Vælg \"Brug lokalt kort\" for at bekræfte et kort udstedt i Brasilien, før du går videre til betaling i BRL. Vælg andre metoder, hvis du hellere vil prøve {pixPaymentMethod} eller en anden betalingsmetode, som {paymentProviderName} tilbyder på næste skærm." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Vælg \"Brug lokalt kort\" for at bekræfte et kort udstedt i Indien, før du går videre til betaling i INR. Vælg andre metoder, hvis du hellere vil prøve {upiPaymentMethod} eller en anden betalingsmetode, som {paymentProviderName} tilbyder på næste skærm." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Vælg \"Brug lokalt kort\" for at bekræfte et kort udstedt i Polen, før du går videre til betaling i PLN. {blikPaymentMethod} understøtter ikke abonnementer ved betaling hos {paymentProviderName}, så fortsæt kun, hvis du i stedet ønsker den almindelige betalingsskærm hos {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Vælg \"Brug lokalt kort\" for at bekræfte et kort udstedt i Tyrkiet, før du går videre til betaling i TRY. Der er ingen lokal appbaseret betalingsmetode til abonnementer her, så hvis du fortsætter, kommer du til den almindelige betalingsskærm hos {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Vælg \"Brug lokalt kort\" for at bekræfte et kort udstedt i dit faktureringsland, før du går videre til betaling. Vælg andre metoder for at bruge en anden betalingsmetode, som {paymentProviderName} tilbyder på næste skærm." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Bekræftelse og medlemskabskrav" msgid "Verification barrier" msgstr "Krav om bekræftelse" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Bekræftelse annulleret" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Bekræftelsesmail sendt. Tjek din indbakke." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Bekræftelse udløbet" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Bekræftelse mislykkedes" @@ -37622,11 +37538,6 @@ msgstr "Verificeret fællesskab" msgid "Verify" msgstr "Bekræft" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Bekræft kort" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Bekræft kode" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Bekræft din e-mail, før du sender venneanmodninger." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Bekræft din e-mail først" @@ -37744,10 +37655,6 @@ msgstr "Bekræft din e-mail for at købe {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Bekræft din e-mail for at starte private samtaler." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Bekræfter kort" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Bekræfter kode…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Beskedbjælke om 2FA for Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary inkluderer allerede permanent adgang, så et tilbagevendende abonnement er ikke nødvendigt. Du kan stadig købe gaver til andre." @@ -38611,11 +38518,6 @@ msgstr "Waylands xdg-desktop-portal styrer vælgeren og viser alle vinduer og sk msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Waylands xdg-desktop-portal styrer vælgeren og viser alle vinduer og skærme samlet. Der er intet flag, der filtrerer den til kun at vise vinduer. Tryk på \"Åbn systemvælger\", og vælg derefter et vindue der for at få lyd fra den enkelte app." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Vi kunne ikke bekræfte dit kort lige nu. Opdater denne side, eller vend tilbage til {productName}, og prøv igen." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Vi kunne ikke fjerne den konto. Prøv igen." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Du er nu udvikler!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Du navigerer nu til {paymentProviderName} for at gennemføre betalingen. Vend tilbage til {productName}, når du er færdig." @@ -39488,7 +39390,7 @@ msgstr "Du kan lukke dette vindue. Importen fortsætter i baggrunden." msgid "You can close this tab" msgstr "Du kan lukke denne fane" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Du kan nu lukke denne fane og vende tilbage til appen." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Du skal bekræfte din e-mailadresse, før du kan starte en privat samtale." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Du skal bekræfte din e-mail, før du kan købe {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "I er allerede venner." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Du er allerede Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Du har foretaget for mange handlinger på kort tid. Vent {duration}, før du prøver igen." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Du har i øjeblikket et gaveabonnement. Det fornys ikke automatisk. Du kan indløse flere gavekoder for at forlænge det. Du kan starte et abonnement med automatisk fornyelse, når din gaveperiode udløber." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Du har set alle dine seneste omtaler. Nye vises her snart." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Dit {premiumProductFullName}-abonnement faktureres via {storeName}. Administrer det på din {storeName}-konto for at skifte abonnement eller tjekke fornyelsesstatus." @@ -40316,14 +40218,6 @@ msgstr "Din ansøgning afventer gennemgang. Du kan stadig opdatere oplysningerne msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Din browser kræver brugerinteraktion, før lyd kan afspilles. Klik på knappen herunder for at aktivere talechat." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Dit kort bliver tjekket for at se, om du kan få den lokale pris. Det tager som regel et øjeblik." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Dit kort opfylder kravene. Du bliver nu omdirigeret til betalingssiden." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Dit seneste køb er ikke længere inden for refusionsperioden. Kontakt s msgid "Your new nickname, or leave blank to reset it." msgstr "Dit nye kaldenavn, eller lad stå tomt for at nulstille det." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Din betaling blev annulleret. Du kan nu lukke denne fane og vende tilbage til appen." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Din betaling er gennemført. Du kan nu lukke denne fane og vende tilbage til appen." diff --git a/fluxer_app/src/features/i18n/locales/de/messages.po b/fluxer_app/src/features/i18n/locales/de/messages.po index cb89de89b..cdefc2e78 100644 --- a/fluxer_app/src/features/i18n/locales/de/messages.po +++ b/fluxer_app/src/features/i18n/locales/de/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# Überschreibung} other {# Überschreibung msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} wickelt die Zahlung sicher ab." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} prüft zuerst, ob deine Karte für regionale Preise berechtigt ist, und leitet dich dann zur Zahlung weiter. Kehre zu {productName} zurück, sobald du den Vorgang abgeschlossen hast." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Alle DMs + Communitys" msgid "All DMs only" msgstr "Nur Direktnachrichten" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Alles erledigt" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Es wurde ein ungültiger Status angegeben. Du kannst diesen Tab schließen und zur App zurückkehren." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Ein ungültiger Status wurde angegeben. Du kannst diesen Tab jetzt schließen und zur App zurückkehren." @@ -6739,14 +6734,6 @@ msgstr "Kartenausrichtung" msgid "Card alignment controls" msgstr "Ausrichtung der Karte" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Karte nicht berechtigt" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Kartenverifizierung wurde abgebrochen. Du kannst diesen Tab schließen und zur App zurückkehren." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Kasse" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Die Kasse ist für dieses Konto blockiert." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Käufe sind für diesen Account gesperrt. Wenn du Hilfe benötigst, wende dich an {supportEmail}." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Kaufabwicklung nicht verfügbar" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Wähle aus, wie Uhrzeiten in der App angezeigt werden" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Wähle, wie du dieses Abo bezahlen möchtest." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Wähle eine der folgenden Methoden, um den Domain-Besitz nachzuweisen. Es muss nur eine abgeschlossen werden." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Zahlungsmethode auswählen" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Altersprüfung abschließen" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Zahlung abschließen" @@ -9409,11 +9396,6 @@ msgstr "Kontextmenüs können per Linksklick (auf Schaltflächen) oder Rechtskli msgid "Continue" msgstr "Weiter" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Weiter zur Kasse" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Suchergebnis konnte nicht geöffnet werden" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Autorisierung für {blueskyProviderName} konnte nicht gestartet werden" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Kauf konnte nicht gestartet werden" @@ -18574,7 +18556,7 @@ msgstr "Ungültiger Parameter redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Ungültiger Status" @@ -20067,11 +20049,6 @@ msgstr "Zeitformat" msgid "Localization" msgstr "Lokalisierung" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Die lokalisierte Kartenverifizierung ist derzeit nicht verfügbar. Bitte versuche es später noch einmal." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Sonstiges" msgid "Other devices" msgstr "Andere Geräte" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Andere Methoden" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Einmal bezahlen und einen Geschenkl-Link zum Teilen erhalten. Geschenke werden nie erneuert." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Zahle mit {pixPaymentMethod} Automático, um wiederkehrende Abbuchungen direkt von deinem brasilianischen Bankkonto zu autorisieren. Oder wähle „Karte verwenden“, um auf dem nächsten Bildschirm von {paymentProviderName} eine Kreditkarte einzugeben." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Zahle mit {upiPaymentMethod}, um ein RBI-konformes E-Mandat von deiner indischen Bank einzurichten. Oder wähle \"Karte verwenden\", um auf dem nächsten Bildschirm von {paymentProviderName} eine Kreditkarte einzugeben." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Zahlung abgebrochen" @@ -24980,7 +24952,7 @@ msgstr "Zahlung abgebrochen" msgid "Payment method" msgstr "Zahlungsmethode" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Zahlung erfolgreich" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Preise" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Preise werden noch geladen." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Gekaufte Geschenke" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Käufe sind für dieses Konto deaktiviert." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Käufe sind für diesen Account deaktiviert. Kontaktiere {supportEmail}, wenn dies ein Fehler zu sein scheint." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Käufe nicht verfügbar" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Beim Senden deiner Bestätigungs-E-Mail ist ein Fehler aufgetreten. Bitte versuche es gleich noch einmal." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Beim Starten des Bezahlvorgangs ist ein Fehler aufgetreten. Bitte versuche es gleich noch einmal." @@ -32672,16 +32644,6 @@ msgstr "Tracking entfernen" msgid "Strip tracking parameters from URLs" msgstr "Tracking-Parameter aus URLs entfernen" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe konnte diese Karte für lokalisierte Preise nicht verifizieren. Verwende eine andere Karte oder kehre zu {productName} zurück und wähle eine andere Zahlungsmethode." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe meldete eine Karte aus {countryName}. Um in dieser lokalen Währung zu bezahlen, verwende eine Karte aus deinem Abrechnungsland oder kehre zu {productName} zurück und wähle eine andere Zahlungsmethode." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Abo" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Abo ist bereits vorhanden" @@ -34051,11 +34013,6 @@ msgstr "Dieser Anruf ist Ende-zu-Ende-verschlüsselt." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Dies kann nicht rückgängig gemacht werden. Durch das Entfernen der Anwendung wird auch der Bot gelöscht." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Diese Karte entspricht nicht deinem Abrechnungsland und kann daher nicht für diese lokalisierte Währung verwendet werden. Nutze eine lokale Karte oder kehre zu {productName} zurück und wähle eine andere Zahlungsmethode." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Diese Auswahl ist nur in der Desktop-App verfügbar." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Dieser Tarif ist nicht verfügbar. Kontaktiere den Support." @@ -34709,11 +34666,6 @@ msgstr "Dieser Benutzer existiert nicht mehr. Aktualisiere die Seite und versuch msgid "This user was force-added to this community by a platform administrator." msgstr "Dieser Nutzer wurde von einem Plattformadministrator zwangsweise zu dieser Community hinzugefügt." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Diese Verifizierungssitzung ist abgelaufen. Kehre zu {productName} zurück und starte den Bezahlvorgang erneut." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "\"{everyoneMention}\"/\"{hereMention}\" und \"{rolesMention}\" verwenden" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod} verwenden" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Verwende {query} an der Stelle, an der der zu übersetzende Text eingefügt werden soll." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "\"{upiPaymentMethod}\" verwenden" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Tatsächlichen Wert verwenden" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Alternative Methode verwenden" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Browser-Gebietsschema für Zeitformat verwenden" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Karte verwenden" @@ -37099,36 +37051,6 @@ msgstr "Altes dunkles Design verwenden (ursprüngliche neutrale graue Palette)" msgid "Use light theme" msgstr "Helles Design verwenden" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Lokale Karte verwenden" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Wähle „Lokale Karte verwenden“, um vor der Zahlung in BRL eine in Brasilien ausgestellte Karte zu verifizieren. Wähle „Andere Methoden“, wenn du lieber {pixPaymentMethod} oder eine andere Zahlungsmethode nutzen möchtest, die {paymentProviderName} auf dem nächsten Bildschirm anbietet." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Wähle „Lokale Karte verwenden“, um vor der Zahlung in INR eine in Indien ausgestellte Karte zu verifizieren. Wähle „Andere Methoden“, wenn du lieber {upiPaymentMethod} oder eine andere Zahlungsmethode nutzen möchtest, die {paymentProviderName} auf dem nächsten Bildschirm anbietet." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Wähle „Lokale Karte verwenden“, um vor der Zahlung in PLN eine in Polen ausgestellte Karte zu verifizieren. {blikPaymentMethod} unterstützt keine Abos beim Bezahlen über {paymentProviderName}. Fahre daher nur fort, wenn du stattdessen den üblichen Zahlungsbildschirm von {paymentProviderName2} verwenden möchtest." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Wähle „Lokale Karte verwenden“, um vor der Zahlung in TRY eine in der Türkei ausgestellte Karte zu verifizieren. Hier gibt es keine lokale Abo-Zahlungsmethode per App. Wenn du fortfährst, gelangst du daher zum üblichen Zahlungsbildschirm von {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Wähle „Lokale Karte verwenden“, um vor dem Bezahlen eine in deinem Abrechnungsland ausgestellte Karte zu verifizieren. Wähle „Andere Methoden“, um eine andere Zahlungsmethode zu nutzen, die {paymentProviderName} auf dem nächsten Bildschirm anbietet." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verifizierung & Mitgliedschaftsbarrieren" msgid "Verification barrier" msgstr "Verifizierungsbarriere" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verifizierung abgebrochen" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Verifizierungs-E-Mail gesendet. Posteingang prüfen." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verifizierung abgelaufen" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Verifizierung fehlgeschlagen" @@ -37622,11 +37538,6 @@ msgstr "Verifizierte Community" msgid "Verify" msgstr "Verifizieren" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Karte verifizieren" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Code überprüfen" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Bestätige deine E-Mail-Adresse, bevor du Freundschaftsanfragen sendest." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verifiziere zuerst deine E-Mail-Adresse" @@ -37744,10 +37655,6 @@ msgstr "Bestätige deine E-Mail-Adresse, um {premiumProductFullName} zu kaufen." msgid "Verify your email to start DMs." msgstr "Bestätige deine E-Mail-Adresse, um DMs zu starten." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Karte wird überprüft" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Code wird überprüft …" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary-2FA-Hinweisleiste" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary beinhaltet bereits permanenten Zugang, daher ist kein wiederkehrendes Abo nötig. Du kannst trotzdem Geschenke für andere kaufen." @@ -38611,11 +38518,6 @@ msgstr "Unter Wayland verwaltet xdg-desktop-portal die Auswahl und zeigt alle Fe msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Unter Wayland verwaltet xdg-desktop-portal die Auswahl und zeigt alle Fenster und Bildschirme gemeinsam an. Es gibt keine Option, die Auswahl auf Fenster zu beschränken. Drücke „Systemauswahl öffnen“ und wähle dort ein Fenster aus, um Audio einer einzelnen App aufzunehmen." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Deine Kreditkarte konnte derzeit nicht verifiziert werden. Aktualisiere die Seite oder kehre zu {productName} zurück und versuche es noch einmal." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Dieser Account konnte nicht entfernt werden. Bitte versuche es erneut." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Du bist jetzt Entwickler!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Du wirst jetzt zu {paymentProviderName} weitergeleitet, um die Zahlung abzuschließen. Kehre danach zu {productName} zurück." @@ -39488,7 +39390,7 @@ msgstr "Du kannst dieses Fenster schließen. Der Import wird im Hintergrund fort msgid "You can close this tab" msgstr "Du kannst diesen Tab schließen" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Du kannst diesen Tab jetzt schließen und zur App zurückkehren." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Du musst deine E-Mail-Adresse bestätigen, bevor du eine Direktnachricht starten kannst." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Du musst deine E-Mail-Adresse bestätigen, bevor du {premiumProductFullName} kaufen kannst." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Ihr seid bereits befreundet." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Du hast bereits Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Du hast das Anfragelimit erreicht. Warte {duration}, bevor du es erneut versuchst." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Du hast derzeit ein Geschenk-Abo. Es wird nicht automatisch verlängert. Du kannst weitere Geschenkcodes einlösen, um es zu verlängern. Ein wiederkehrendes Abo kannst du starten, sobald dein Geschenk-Abo abgelaufen ist." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Du hast alle deine letzten Erwähnungen gesehen. Weitere werden hier bald erscheinen." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Dein {premiumProductFullName}-Abonnement wird über {storeName} abgerechnet. Verwalte es in deinem {storeName}-Account, um deinen Plan zu ändern oder den Verlängerungsstatus zu überprüfen." @@ -40316,14 +40218,6 @@ msgstr "Dein Antrag wartet auf Prüfung. Du kannst die Details deines Eintrags w msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Dein Browser erfordert eine Nutzerinteraktion, bevor Audio abgespielt werden kann. Klicke auf die Schaltfläche unten, um den Sprachchat zu aktivieren." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Deine Karte wird auf lokalisierte Preise geprüft. Dies dauert normalerweise einen Moment." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Deine Karte ist gültig. Du wirst jetzt zur Zahlungsseite weitergeleitet." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Dein jüngster Kauf liegt nicht mehr innerhalb des Rückerstattungszeitr msgid "Your new nickname, or leave blank to reset it." msgstr "Dein neuer Spitzname. Lass das Feld leer, um ihn zurückzusetzen." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Deine Zahlung wurde abgebrochen. Du kannst diesen Tab jetzt schließen und zur App zurückkehren." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Zahlung erfolgreich. Du kannst diesen Tab jetzt schließen und zur App zurückkehren." diff --git a/fluxer_app/src/features/i18n/locales/el/messages.po b/fluxer_app/src/features/i18n/locales/el/messages.po index 45be602d3..4ee621f05 100644 --- a/fluxer_app/src/features/i18n/locales/el/messages.po +++ b/fluxer_app/src/features/i18n/locales/el/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# παράκαμψη} other {# παρακά msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "Το {PAYMENT_PROVIDER_NAME} διαχειρίζεται την πληρωμή με ασφάλεια." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "Το {paymentProviderName} θα επαληθεύσει πρώτα ότι η κάρτα σας είναι κατάλληλη για τοπική τιμολόγηση και, στη συνέχεια, θα σας μεταφέρει στην πληρωμή. Επιστρέψτε στο {productName} μόλις ολοκληρώσετε τη διαδικασία." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Όλα τα DM + κοινότητες" msgid "All DMs only" msgstr "Μόνο όλα τα DM" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Ολοκληρώθηκε" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Δόθηκε μη έγκυρη κατάσταση. Μπορείτε να κλείσετε αυτήν την καρτέλα και να επιστρέψετε στην εφαρμογή." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Δόθηκε μη έγκυρη κατάσταση. Μπορείτε τώρα να κλείσετε αυτήν την καρτέλα και να επιστρέψετε στην εφαρμογή." @@ -6739,14 +6734,6 @@ msgstr "Στοίχιση κάρτας" msgid "Card alignment controls" msgstr "Στοιχεία ελέγχου στοίχισης κάρτας" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Η κάρτα δεν πληροί τις προϋποθέσεις" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Η επαλήθευση κάρτας ακυρώθηκε. Μπορείτε να κλείσετε αυτήν την καρτέλα και να επιστρέψετε στην εφαρμογή." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Ολοκλήρωση αγοράς" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Το ταμείο έχει αποκλειστεί για αυτόν τον λογαριασμό." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Η ολοκλήρωση αγοράς έχει αποκλειστεί για αυτόν τον λογαριασμό. Επικοινωνήστε με το {supportEmail} εάν χρειάζεστε βοήθεια." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Η ολοκλήρωση αγοράς δεν είναι διαθέσιμη" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Επιλέξτε πώς θα εμφανίζονται οι ώρες στην εφαρμογή" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Επίλεξε πώς θέλεις να πληρώσεις για αυτήν τη συνδρομή." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Επιλέξτε μία από τις παρακάτω μεθόδους για να αποδείξετε την ιδιοκτησία του τομέα. Χρειάζεται να ολοκληρώσετε μόνο μία." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Επιλέξτε τρόπο πληρωμής" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Ολοκλήρωση ελέγχου περιεχομένου ενηλίκων" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Ολοκλήρωση πληρωμής" @@ -9409,11 +9396,6 @@ msgstr "Τα μενού περιβάλλοντος μπορούν να ανοί msgid "Continue" msgstr "Συνέχεια" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Συνέχεια στην πληρωμή" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Δεν ήταν δυνατό το άνοιγμα του αποτελέσ #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Δεν ήταν δυνατή η έναρξη της εξουσιοδότησης {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Δεν ήταν δυνατή η έναρξη της ολοκλήρωσης αγοράς" @@ -18574,7 +18556,7 @@ msgstr "Μη έγκυρο redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Μη έγκυρη κατάσταση" @@ -20067,11 +20049,6 @@ msgstr "Μορφή ώρας περιοχής" msgid "Localization" msgstr "Γλώσσα και περιοχή" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Η επαλήθευση κάρτας για την περιοχή σας δεν είναι διαθέσιμη αυτήν τη στιγμή. Δοκιμάστε ξανά αργότερα." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Άλλο" msgid "Other devices" msgstr "Άλλες συσκευές" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Άλλες μέθοδοι" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Πληρώστε μία φορά και λάβετε έναν σύνδεσμο δώρου για να τον μοιραστείτε. Τα δώρα δεν ανανεώνονται ποτέ." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Πληρώστε με {pixPaymentMethod} Automático για να εξουσιοδοτήσετε επαναλαμβανόμενες χρεώσεις απευθείας από την τράπεζά σας στη Βραζιλία. Ή επιλέξτε «Χρήση κάρτας» για να εισαγάγετε μια πιστωτική κάρτα στην επόμενη οθόνη του {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Πληρώστε με {upiPaymentMethod} για να ρυθμίσετε μια ηλεκτρονική εντολή πληρωμής (e-mandate) συμβατή με την RBI από την ινδική σας τράπεζα. Ή επιλέξτε «Χρήση κάρτας» για να εισαγάγετε μια πιστωτική κάρτα στην επόμενη οθόνη του {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Η πληρωμή ακυρώθηκε" @@ -24980,7 +24952,7 @@ msgstr "Η πληρωμή ακυρώθηκε" msgid "Payment method" msgstr "Μέθοδος πληρωμής" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Η πληρωμή ήταν επιτυχής" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Τιμολόγηση" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Οι τιμές φορτώνονται ακόμα." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Αγορασμένα δώρα" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Οι αγορές έχουν απενεργοποιηθεί για αυτόν τον λογαριασμό." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Οι αγορές έχουν απενεργοποιηθεί για αυτόν τον λογαριασμό. Επικοινωνήστε με το {supportEmail} αν πιστεύετε ότι πρόκειται για λάθος." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Οι αγορές δεν είναι διαθέσιμες" @@ -31635,7 +31607,7 @@ msgstr "Κάτι πήγε στραβά κατά τη φόρτωση του αρ #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Κάτι πήγε στραβά κατά την αποστολή του email επαλήθευσης. Δοκιμάστε ξανά σε λίγο." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Κάτι πήγε στραβά κατά την έναρξη της ολοκλήρωσης αγοράς. Δοκιμάστε ξανά σε λίγο." @@ -32672,16 +32644,6 @@ msgstr "Αφαίρεση παρακολούθησης" msgid "Strip tracking parameters from URLs" msgstr "Αφαίρεση παραμέτρων παρακολούθησης από URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Η Stripe δεν μπόρεσε να επαληθεύσει αυτήν την κάρτα για την τοπική τιμολόγηση. Χρησιμοποιήστε άλλη κάρτα ή επιστρέψτε στο {productName} και επιλέξτε άλλη μέθοδο πληρωμής." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Η Stripe ανέφερε μια κάρτα που εκδόθηκε στη χώρα {countryName}. Για να πληρώσετε σε αυτό το τοπικό νόμισμα, χρησιμοποιήστε μια κάρτα που έχει εκδοθεί στη χώρα χρέωσής σας ή επιστρέψτε στο {productName} και επιλέξτε άλλη μέθοδο πληρωμής." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Συνδρομή" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Η συνδρομή υπάρχει ήδη" @@ -34051,11 +34013,6 @@ msgstr "Αυτή η κλήση είναι κρυπτογραφημένη από msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Αυτή η ενέργεια δεν μπορεί να αναιρεθεί. Με την κατάργηση της εφαρμογής διαγράφεται και το bot της." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Αυτή η κάρτα δεν αντιστοιχεί στη χώρα χρέωσής σας, επομένως δεν μπορεί να χρησιμοποιηθεί για αυτό το τοπικό νόμισμα. Χρησιμοποιήστε μια τοπική κάρτα ή επιστρέψτε στο {productName} και επιλέξτε άλλη μέθοδο πληρωμής." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Αυτός ο επιλογέας είναι διαθέσιμος μόνο στην εφαρμογή για υπολογιστές." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Αυτό το πρόγραμμα δεν είναι διαθέσιμο. Επικοινωνήστε με την υποστήριξη." @@ -34709,11 +34666,6 @@ msgstr "Αυτός ο χρήστης δεν υπάρχει πλέον. Αναν msgid "This user was force-added to this community by a platform administrator." msgstr "Αυτός ο χρήστης προστέθηκε αναγκαστικά σε αυτήν την κοινότητα από διαχειριστή της πλατφόρμας." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Αυτή η συνεδρία επαλήθευσης έληξε. Επιστρέψτε στο {productName} και ξεκινήστε ξανά την ολοκλήρωση αγοράς." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Χρήση {everyoneMention}/{hereMention} και {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Χρήση {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Χρησιμοποιήστε το {query} όπου θα πρέπει να εισαχθεί το κείμενο προς μετάφραση." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Χρήση {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Χρήση πραγματικής τιμής" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Χρήση εναλλακτικής μεθόδου" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Χρήση τοπικών ρυθμίσεων του προγράμματος περιήγησης για τη μορφή ώρας" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Χρήση κάρτας" @@ -37099,36 +37051,6 @@ msgstr "Χρήση παλιού σκούρου θέματος (αρχική ου msgid "Use light theme" msgstr "Χρήση φωτεινού θέματος" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Χρήση τοπικής κάρτας" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Χρησιμοποιήστε την τοπική κάρτα για να επαληθεύσετε μια κάρτα που έχει εκδοθεί στη Βραζιλία πριν από την πληρωμή σε BRL. Επιλέξτε άλλες μεθόδους αν προτιμάτε να δοκιμάσετε {pixPaymentMethod} ή άλλη μέθοδο πληρωμής που προσφέρει το {paymentProviderName} στην επόμενη οθόνη." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Χρησιμοποιήστε την τοπική κάρτα για να επαληθεύσετε μια κάρτα που έχει εκδοθεί στην Ινδία πριν από την πληρωμή σε INR. Επιλέξτε άλλες μεθόδους αν προτιμάτε να δοκιμάσετε {upiPaymentMethod} ή άλλη μέθοδο πληρωμής που προσφέρει το {paymentProviderName} στην επόμενη οθόνη." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Χρησιμοποιήστε την τοπική κάρτα για να επαληθεύσετε μια κάρτα που έχει εκδοθεί στην Πολωνία πριν από την πληρωμή σε PLN. Η μέθοδος {blikPaymentMethod} δεν υποστηρίζει συνδρομές στη διαδικασία πληρωμής του {paymentProviderName}, οπότε συνεχίστε μόνο αν θέλετε την τυπική οθόνη πληρωμής του {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Χρησιμοποιήστε την τοπική κάρτα για να επαληθεύσετε μια κάρτα που έχει εκδοθεί στην Τουρκία πριν από την πληρωμή σε TRY. Δεν υπάρχει εδώ τοπική μέθοδος συνδρομής μέσω εφαρμογής, οπότε αν συνεχίσετε θα μεταφερθείτε στην τυπική οθόνη πληρωμής του {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Χρησιμοποιήστε την τοπική κάρτα για να επαληθεύσετε μια κάρτα που έχει εκδοθεί στη χώρα χρέωσής σας πριν από την πληρωμή. Επιλέξτε άλλες μεθόδους για οποιαδήποτε άλλη μέθοδο πληρωμής προσφέρει το {paymentProviderName} στην επόμενη οθόνη." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Εμπόδια επαλήθευσης και συμμετοχής" msgid "Verification barrier" msgstr "Εμπόδιο επαλήθευσης" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Η επαλήθευση ακυρώθηκε" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Στάλθηκε email επαλήθευσης. Ελέγξτε τα ει #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Η επαλήθευση έληξε" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Η επαλήθευση απέτυχε" @@ -37622,11 +37538,6 @@ msgstr "Επαληθευμένη κοινότητα" msgid "Verify" msgstr "Επαλήθευση" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Επαλήθευση κάρτας" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Επαλήθευση κωδικού" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Επαληθεύστε το email σας πριν στείλετε αιτήματα φιλίας." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Επαληθεύστε πρώτα το email σας" @@ -37744,10 +37655,6 @@ msgstr "Επαληθεύστε το email σας για να αγοράσετε msgid "Verify your email to start DMs." msgstr "Επαληθεύστε το email σας για να ξεκινήσετε DM." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Επαλήθευση κάρτας" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Επαλήθευση κωδικού…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Μπάρα ειδοποιήσεων 2FA Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Το Visionary περιλαμβάνει ήδη μόνιμη πρόσβαση, οπότε δεν χρειάζεται επαναλαμβανόμενη συνδρομή. Μπορείτε να αγοράσετε δώρα για άλλους." @@ -38611,11 +38518,6 @@ msgstr "Το xdg-desktop-portal του Wayland διαχειρίζεται τον msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Το xdg-desktop-portal του Wayland διαχειρίζεται τον επιλογέα και εμφανίζει όλα τα παράθυρα και τις οθόνες μαζί. Δεν υπάρχει επιλογή που να το φιλτράρει μόνο σε παράθυρα. Πατήστε \"Άνοιγμα επιλογέα συστήματος\" και, στη συνέχεια, επιλέξτε ένα παράθυρο για να λάβετε ήχο ανά εφαρμογή." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Δεν ήταν δυνατή η επιβεβαίωση της κάρτας σας αυτή τη στιγμή. Ανανεώστε αυτήν τη σελίδα ή επιστρέψτε στο {productName} και δοκιμάστε ξανά." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Δεν ήταν δυνατή η κατάργηση αυτού του λογαριασμού. Δοκιμάστε ξανά." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} για αυτόν τον λογαριασμό. Διαχειριστείτε την στην ασφαλή πύλη χρεώσεων για να ενημερώσετε τα στοιχεία πληρωμής ή να ελέγξετε την κατάσταση ανανέωσης. Αν μόλις πληρώσατε, περιμένετε ένα λεπτό και ανοίξτε ξανά αυτήν τη σελίδα." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Είστε πλέον προγραμματιστής!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Μεταβαίνετε τώρα στο {paymentProviderName} για να ολοκληρώσετε την πληρωμή. Επιστρέψτε στο {productName} μόλις την ολοκληρώσετε." @@ -39488,7 +39390,7 @@ msgstr "Μπορείτε να κλείσετε αυτό το παράθυρο. msgid "You can close this tab" msgstr "Μπορείτε να κλείσετε αυτή την καρτέλα" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Μπορείτε τώρα να κλείσετε αυτήν την καρτέλα και να επιστρέψετε στην εφαρμογή." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Πρέπει να επαληθεύσετε τη διεύθυνση email σας πριν ξεκινήσετε μια απευθείας συνομιλία." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Πρέπει να επαληθεύσετε το email σας πριν μπορέσετε να αγοράσετε το {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Είστε ήδη φίλοι με αυτόν τον χρήστη." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Είστε ήδη Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Έχετε υπερβεί το όριο αιτημάτων. Περιμένετε {duration} πριν προσπαθήσετε ξανά." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Έχετε συνδρομή δώρου. Δεν θα ανανεωθεί αυτόματα. Μπορείτε να εξαργυρώσετε κι άλλους κωδικούς δώρου για να την επεκτείνετε. Οι συνδρομές με αυτόματη ανανέωση μπορούν να ξεκινήσουν αφού λήξει η συνδρομή δώρου." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Έχετε δει όλες τις πρόσφατες αναφορές σας. Σύντομα θα εμφανιστούν κι άλλες εδώ." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Η συνδρομή σας {premiumProductFullName} χρεώνεται μέσω {storeName}. Διαχειριστείτε την από τον λογαριασμό σας στο {storeName} για να αλλάξετε πρόγραμμα ή να ελέγξετε την κατάσταση ανανέωσης." @@ -40316,14 +40218,6 @@ msgstr "Η αίτησή σας εκκρεμεί για έλεγχο. Μπορε msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Το πρόγραμμα περιήγησής σας απαιτεί αλληλεπίδραση χρήστη για την αναπαραγωγή ήχου. Πατήστε το παρακάτω κουμπί για να ενεργοποιήσετε τη φωνητική συνομιλία." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Ελέγχουμε την κάρτα σας για τοπικές τιμές. Αυτό συνήθως διαρκεί λίγο." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Η κάρτα σας πληροί τις προϋποθέσεις. Σας ανακατευθύνουμε τώρα στη σελίδα πληρωμής." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Η πιο πρόσφατη αγορά σας δεν είναι πλέο msgid "Your new nickname, or leave blank to reset it." msgstr "Το νέο σου ψευδώνυμο, ή άφησέ το κενό για επαναφορά." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Η πληρωμή σας ακυρώθηκε. Μπορείτε τώρα να κλείσετε αυτήν την καρτέλα και να επιστρέψετε στην εφαρμογή." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Η πληρωμή σας ήταν επιτυχής. Μπορείτε τώρα να κλείσετε αυτήν την καρτέλα και να επιστρέψετε στην εφαρμογή." diff --git a/fluxer_app/src/features/i18n/locales/en-GB/messages.po b/fluxer_app/src/features/i18n/locales/en-GB/messages.po index 47b4fe55b..f11de7004 100644 --- a/fluxer_app/src/features/i18n/locales/en-GB/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-GB/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# override} other {# overrides}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} handles payment securely." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} will first verify that your card is eligible for localised pricing, then take you to payment. Return to {productName} once you've completed it." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "All DMs + communities" msgid "All DMs only" msgstr "All DMs only" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "All done" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "An invalid status was provided. You can close this tab and return to the app." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "An invalid status was provided. You can now close this tab and return to the app." @@ -6739,14 +6734,6 @@ msgstr "Card alignment" msgid "Card alignment controls" msgstr "Card alignment controls" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Card not eligible" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Card verification was cancelled. You can close this tab and return to the app." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Checkout" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Checkout is blocked for this account." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Checkout is blocked for this account. Contact {supportEmail} if you need help." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Checkout unavailable" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Choose how times are displayed throughout the app" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Choose how you'd like to pay for this subscription." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Choose one of the methods below to prove domain ownership. You only need to complete one." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Choose payment method" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Complete mature content check" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Complete payment" @@ -9409,11 +9396,6 @@ msgstr "Context menus can be opened with left-click (on buttons) or right-click msgid "Continue" msgstr "Continue" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Continue to checkout" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Couldn't open search result" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Couldn't start {blueskyProviderName} authorisation" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Couldn't start checkout" @@ -18574,7 +18556,7 @@ msgstr "Invalid redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Invalid status" @@ -20067,11 +20049,6 @@ msgstr "Locale time format" msgid "Localization" msgstr "Localisation" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Localised card verification is not available right now. Try again later." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Other" msgid "Other devices" msgstr "Other devices" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Other methods" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Pay once and get a gift link to share. Gifts never renew." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Pay with {pixPaymentMethod} Automático to authorise recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Payment cancelled" @@ -24980,7 +24952,7 @@ msgstr "Payment cancelled" msgid "Payment method" msgstr "Payment method" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Payment successful" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Pricing" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Pricing is still loading." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Purchased gifts" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Purchases are disabled for this account." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Purchases unavailable" @@ -31635,7 +31607,7 @@ msgstr "Something went wrong while loading the activity log." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Something went wrong while sending your verification email. Please try again in a moment." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Something went wrong while starting checkout. Please try again in a moment." @@ -32672,16 +32644,6 @@ msgstr "Strip tracking" msgid "Strip tracking parameters from URLs" msgstr "Strip tracking parameters from URLs" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe could not verify this card for localised pricing. Use another card, or return to {productName} and choose another payment method." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe reported a card issued in {countryName}. To pay in this localised currency, use a card issued in your billing country, or return to {productName} and choose another payment method." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Subscription" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Subscription already exists" @@ -34051,11 +34013,6 @@ msgstr "This call is end-to-end encrypted." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "This cannot be undone. Removing the application also deletes its bot." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "This card does not match your billing country, so it cannot be used for this localised currency. Use a local card, or return to {productName} and choose another payment method." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "This picker is only available in the desktop app." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "This plan isn't available. Contact support." @@ -34709,11 +34666,6 @@ msgstr "This user no longer exists. Refresh and try again." msgid "This user was force-added to this community by a platform administrator." msgstr "This user was force-added to this community by a platform administrator." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "This verification session expired. Return to {productName} and start checkout again." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Use {everyoneMention}/{hereMention} and {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Use {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Use {query} where the text to translate should be inserted." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Use {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Use actual value" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Use alternative method" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Use browser locale for time format" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Use card" @@ -37099,36 +37051,6 @@ msgstr "Use legacy dark theme (original neutral grey palette)" msgid "Use light theme" msgstr "Use light theme" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Use local card" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verification & membership barriers" msgid "Verification barrier" msgstr "Verification barrier" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verification cancelled" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Verification email sent. Check your inbox." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verification expired" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Verification failed" @@ -37622,11 +37538,6 @@ msgstr "Verified community" msgid "Verify" msgstr "Verify" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Verify card" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Verify code" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Verify your email before sending friend requests." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verify your email first" @@ -37744,10 +37655,6 @@ msgstr "Verify your email to purchase {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Verify your email to start DMs." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Verifying card" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Verifying code…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 2FA nagbar" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." @@ -38611,11 +38518,6 @@ msgstr "Wayland's xdg-desktop-portal owns the picker and shows every window and msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "We could not confirm your card right now. Refresh this page or return to {productName} and try again." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "We couldn't remove that account. Try again." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "You are now a developer!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." @@ -39488,7 +39390,7 @@ msgstr "You can close this modal. The import will continue in the background." msgid "You can close this tab" msgstr "You can close this tab" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "You can now close this tab and return to the app." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "You need to verify your email address before you can start a direct message." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "You need to verify your email before you can purchase {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "You're already friends with this user." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "You're already Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "You're being rate limited. Wait {duration} before trying again." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "You've seen all your recent mentions. More will appear here soon." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." @@ -40316,14 +40218,6 @@ msgstr "Your application is pending review. You can still update your listing de msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Your card is being checked for localised pricing. This usually takes a moment." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Your card is eligible. Redirecting you to the payment page now." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40503,11 +40397,11 @@ msgstr "Your most recent purchase is no longer within the refund window. Contact msgid "Your new nickname, or leave blank to reset it." msgstr "Your new nickname, or leave blank to reset it." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Your payment was cancelled. You can now close this tab and return to the app." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Your payment was successful. You can now close this tab and return to the app." diff --git a/fluxer_app/src/features/i18n/locales/en-US/messages.po b/fluxer_app/src/features/i18n/locales/en-US/messages.po index c1bf6b64c..c4de9abc5 100644 --- a/fluxer_app/src/features/i18n/locales/en-US/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-US/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# override} other {# overrides}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} handles payment securely." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "All DMs + communities" msgid "All DMs only" msgstr "All DMs only" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "All done" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "An invalid status was provided. You can close this tab and return to the app." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "An invalid status was provided. You can now close this tab and return to the app." @@ -6739,14 +6734,6 @@ msgstr "Card alignment" msgid "Card alignment controls" msgstr "Card alignment controls" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Card not eligible" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Card verification was canceled. You can close this tab and return to the app." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Checkout" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Checkout is blocked for this account." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Checkout is blocked for this account. Contact {supportEmail} if you need help." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Checkout unavailable" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Choose how times are displayed throughout the app" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Choose how you'd like to pay for this subscription." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Choose one of the methods below to prove domain ownership. You only need to complete one." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Choose payment method" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Complete mature content check" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Complete payment" @@ -9409,11 +9396,6 @@ msgstr "Context menus can be opened with left-click (on buttons) or right-click msgid "Continue" msgstr "Continue" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Continue to checkout" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Couldn't open search result" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Couldn't start {blueskyProviderName} authorization" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Couldn't start checkout" @@ -18574,7 +18556,7 @@ msgstr "Invalid redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Invalid status" @@ -20067,11 +20049,6 @@ msgstr "Locale time format" msgid "Localization" msgstr "Localization" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Localized card verification is not available right now. Try again later." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Other" msgid "Other devices" msgstr "Other devices" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Other methods" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Pay once and get a gift link to share. Gifts never renew." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Payment canceled" @@ -24980,7 +24952,7 @@ msgstr "Payment canceled" msgid "Payment method" msgstr "Payment method" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Payment successful" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Pricing" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Pricing is still loading." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Purchased gifts" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Purchases are disabled for this account." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Purchases unavailable" @@ -31635,7 +31607,7 @@ msgstr "Something went wrong while loading the activity log." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Something went wrong while sending your verification email. Please try again in a moment." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Something went wrong while starting checkout. Please try again in a moment." @@ -32672,16 +32644,6 @@ msgstr "Strip tracking" msgid "Strip tracking parameters from URLs" msgstr "Strip tracking parameters from URLs" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Subscription" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Subscription already exists" @@ -34051,11 +34013,6 @@ msgstr "This call is end-to-end encrypted." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "This cannot be undone. Removing the application also deletes its bot." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "This picker is only available in the desktop app." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "This plan isn't available. Contact support." @@ -34709,11 +34666,6 @@ msgstr "This user no longer exists. Refresh and try again." msgid "This user was force-added to this community by a platform administrator." msgstr "This user was force-added to this community by a platform administrator." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "This verification session expired. Return to {productName} and start checkout again." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Use {everyoneMention}/{hereMention} and {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Use {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Use {query} where the text to translate should be inserted." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Use {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Use actual value" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Use alternative method" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Use browser locale for time format" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Use card" @@ -37099,36 +37051,6 @@ msgstr "Use legacy dark theme (original neutral gray palette)" msgid "Use light theme" msgstr "Use light theme" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Use local card" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verification & membership barriers" msgid "Verification barrier" msgstr "Verification barrier" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verification canceled" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Verification email sent. Check your inbox." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verification expired" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Verification failed" @@ -37622,11 +37538,6 @@ msgstr "Verified community" msgid "Verify" msgstr "Verify" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Verify card" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Verify code" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Verify your email before sending friend requests." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verify your email first" @@ -37744,10 +37655,6 @@ msgstr "Verify your email to purchase {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Verify your email to start DMs." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Verifying card" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Verifying code…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 2FA nagbar" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." @@ -38611,11 +38518,6 @@ msgstr "Wayland's xdg-desktop-portal owns the picker and shows every window and msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "We could not confirm your card right now. Refresh this page or return to {productName} and try again." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "We couldn't remove that account. Try again." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "You are now a developer!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." @@ -39488,7 +39390,7 @@ msgstr "You can close this modal. The import will continue in the background." msgid "You can close this tab" msgstr "You can close this tab" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "You can now close this tab and return to the app." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "You need to verify your email address before you can start a direct message." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "You need to verify your email before you can purchase {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "You're already friends with this user." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "You're already Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "You're being rate limited. Wait {duration} before trying again." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "You've seen all your recent mentions. More will appear here soon." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." @@ -40316,14 +40218,6 @@ msgstr "Your application is pending review. You can still update your listing de msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Your card is being checked for localized pricing. This usually takes a moment." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Your card is eligible. Redirecting you to the payment page now." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Your most recent purchase is no longer within the refund window. Contact msgid "Your new nickname, or leave blank to reset it." msgstr "Your new nickname, or leave blank to reset it." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Your payment was canceled. You can now close this tab and return to the app." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Your payment was successful. You can now close this tab and return to the app." diff --git a/fluxer_app/src/features/i18n/locales/es-419/messages.po b/fluxer_app/src/features/i18n/locales/es-419/messages.po index d398d1e03..408da510a 100644 --- a/fluxer_app/src/features/i18n/locales/es-419/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-419/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# personalización} other {# personalizacio msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} maneja el pago de forma segura." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} verificará primero que tu tarjeta sea elegible para precios localizados y luego te dirigirá al pago. Vuelve a {productName} cuando hayas terminado." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Todos los MD y comunidades" msgid "All DMs only" msgstr "Solo todos los MD" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Todo listo" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Se proporcionó un estado no válido. Puedes cerrar esta pestaña y volver a la aplicación." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Se proporcionó un estado no válido. Ahora puedes cerrar esta pestaña y volver a la aplicación." @@ -6739,14 +6734,6 @@ msgstr "Alineación de la tarjeta" msgid "Card alignment controls" msgstr "Controles de alineación de tarjeta" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Tarjeta no apta" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Se canceló la verificación de la tarjeta. Puedes cerrar esta pestaña y volver a la aplicación." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Pagar" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "El pago está bloqueado para esta cuenta." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "El pago está bloqueado para esta cuenta. Si necesitas ayuda, contacta a {supportEmail}." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Pago no disponible" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Elige cómo se muestran las horas en la app" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Elige cómo quieres pagar esta suscripción." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Elige uno de los métodos a continuación para verificar la propiedad del dominio. Solo tienes que completar uno." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Elige un método de pago" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Completar verificación de contenido para adultos" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Completar pago" @@ -9409,11 +9396,6 @@ msgstr "Los menús contextuales se pueden abrir con un clic izquierdo (en botone msgid "Continue" msgstr "Continuar" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Continuar con el pago" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,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 grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "No se pudo iniciar la autorización de {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "No se pudo iniciar el pago" @@ -18574,7 +18556,7 @@ msgstr "Valor de redirect_uri no válido" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Estado no válido" @@ -20067,11 +20049,6 @@ msgstr "Formato de hora del idioma" msgid "Localization" msgstr "Idioma y región" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "La verificación de tarjetas para acceder a precios locales no está disponible en este momento. Intenta de nuevo más tarde." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Otro" msgid "Other devices" msgstr "Otros dispositivos" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Otros métodos" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Paga una vez y obtén un enlace de regalo para compartir. Los regalos nunca se renuevan." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Paga con {pixPaymentMethod} Automático para autorizar cargos recurrentes directamente desde tu banco brasileño. O elige \"Usar tarjeta\" para ingresar una tarjeta de crédito en la siguiente pantalla de {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Paga con {upiPaymentMethod} para autorizar cargos mediante un mandato electrónico de tu banco indio que cumpla los requisitos del RBI. O elige \"Usar tarjeta\" para ingresar una tarjeta de crédito en la siguiente pantalla de {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Pago cancelado" @@ -24980,7 +24952,7 @@ msgstr "Pago cancelado" msgid "Payment method" msgstr "Método de pago" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Pago realizado con éxito" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Precios" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Los precios aún se están cargando." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Regalos comprados" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Las compras están deshabilitadas para esta cuenta." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Las compras están desactivadas para esta cuenta. Si crees que es un error, contacta a {supportEmail}." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Compras no disponibles" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Algo salió mal al enviar tu correo electrónico de verificación. Intenta de nuevo en un momento." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Algo salió mal al iniciar el proceso de pago. Intenta de nuevo en un momento." @@ -32672,16 +32644,6 @@ msgstr "Eliminar rastreo" msgid "Strip tracking parameters from URLs" msgstr "Quitar parámetros de seguimiento de las URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe no pudo verificar esta tarjeta para acceder a precios locales. Usa otra tarjeta o regresa a {productName} y elige otro método de pago." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe informó que la tarjeta fue emitida en {countryName}. Para pagar en esta moneda, usa una tarjeta emitida en tu país de facturación, o regresa a {productName} y elige otro método de pago." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Suscripción" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Ya tienes esta suscripción" @@ -34051,11 +34013,6 @@ msgstr "Esta llamada está cifrada de extremo a extremo." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Esto no se puede deshacer. Al eliminar la aplicación, también se borrará su bot." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Esta tarjeta no se emitió en tu país de facturación, por lo que no puedes usarla para pagar en esta moneda local. Usa una tarjeta local o vuelve a {productName} y elige otro método de pago." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Este selector solo está disponible en la aplicación de escritorio." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Este plan no está disponible. Contacta a soporte." @@ -34709,11 +34666,6 @@ msgstr "Este usuario ya no existe. Actualiza y vuelve a intentarlo." msgid "This user was force-added to this community by a platform administrator." msgstr "Un administrador de la plataforma forzó la incorporación de este usuario a la comunidad." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Esta sesión de verificación caducó. Vuelve a {productName} e inicia el proceso de pago de nuevo." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Usar {everyoneMention}/{hereMention} y {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Usar {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Usa {query} donde deba insertarse el texto a traducir." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Usar {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Usar valor real" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Usar otro método" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Usar la configuración regional del navegador para el formato de hora" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Usar tarjeta" @@ -37099,36 +37051,6 @@ msgstr "Usar el tema oscuro clásico (paleta gris neutra original)" msgid "Use light theme" msgstr "Usar tema claro" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Usar tarjeta local" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Elige \"Usar tarjeta local\" para verificar una tarjeta emitida en Brasil antes de pagar en BRL. Elige otros métodos si prefieres probar {pixPaymentMethod} u otro método de pago que {paymentProviderName} ofrezca en la siguiente pantalla." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Elige \"Usar tarjeta local\" para verificar una tarjeta emitida en la India antes de pagar en INR. Elige otros métodos si prefieres probar {upiPaymentMethod} u otro método de pago que {paymentProviderName} ofrezca en la siguiente pantalla." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Elige \"Usar tarjeta local\" para verificar una tarjeta emitida en Polonia antes de pagar en PLN. {blikPaymentMethod} no admite suscripciones en la pantalla de pago de {paymentProviderName}, así que continúa solo si quieres usar la pantalla de pago estándar de {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Elige \"Usar tarjeta local\" para verificar una tarjeta emitida en Turquía antes de pagar en TRY. Aquí no hay un método local de suscripción mediante una aplicación, por lo que continuar te llevará a la pantalla de pago estándar de {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Elige \"Usar tarjeta local\" para verificar una tarjeta emitida en tu país de facturación antes de pagar. Elige otros métodos para usar cualquier otro método de pago que {paymentProviderName} ofrezca en la siguiente pantalla." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verificación y requisitos de acceso a comunidades" msgid "Verification barrier" msgstr "Barrera de verificación" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verificación cancelada" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Correo electrónico de verificación enviado. Revisa tu bandeja de entra #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verificación caducada" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Falló la verificación" @@ -37622,11 +37538,6 @@ msgstr "Comunidad verificada" msgid "Verify" msgstr "Verificar" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Verificar tarjeta" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Verificar código" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Verifica tu correo electrónico antes de enviar solicitudes de amistad." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verifica tu correo electrónico primero" @@ -37744,10 +37655,6 @@ msgstr "Verifica tu correo electrónico para comprar {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Verifica tu correo electrónico para iniciar MD." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Verificando tarjeta" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Verificando código…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Barra de notificación de 2FA Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary ya incluye acceso permanente, por lo que no necesitas una suscripción recurrente. Aún puedes comprar regalos para otros." @@ -38611,11 +38518,6 @@ msgstr "El selector de Wayland lo gestiona xdg-desktop-portal y muestra todas la msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "El selector de Wayland lo gestiona xdg-desktop-portal y muestra todas las ventanas y pantallas juntas. No hay ninguna opción para mostrar solo las ventanas. Presiona \"Abrir selector del sistema\" y elige una ventana para capturar el audio de esa aplicación." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "No pudimos confirmar tu tarjeta en este momento. Actualiza esta página o vuelve a {productName} e inténtalo de nuevo." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "No pudimos eliminar esa cuenta. Intenta de nuevo." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "¡Ahora eres desarrollador!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Ahora vas a {paymentProviderName} para completar el pago. Vuelve a {productName} cuando lo hayas completado." @@ -39488,7 +39390,7 @@ msgstr "Puedes cerrar esta ventana. La importación continuará en segundo plano msgid "You can close this tab" msgstr "Puedes cerrar esta pestaña" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Ya puedes cerrar esta pestaña y volver a la app." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Debes verificar tu dirección de correo electrónico antes de poder iniciar un mensaje directo." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Debes verificar tu correo electrónico antes de poder comprar {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Ya eres amigo de este usuario." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Ya eres Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Has alcanzado el límite de solicitudes. Espera {duration} antes de volver a intentarlo." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Actualmente tienes una suscripción de regalo. No se renovará. Puedes canjear más códigos de regalo para extenderla. Las suscripciones recurrentes se pueden iniciar una vez que termine tu tiempo de regalo." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Ya viste todas tus menciones recientes. Pronto aparecerán más aquí." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Tu suscripción a {premiumProductFullName} se factura a través de {storeName}. Adminístrala en tu cuenta de {storeName} para cambiar de plan o verificar el estado de la renovación." @@ -40316,14 +40218,6 @@ msgstr "Tu solicitud está pendiente de revisión. Aún puedes actualizar los da msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Tu navegador requiere interacción del usuario para poder reproducir audio. Haz clic en el botón de abajo para habilitar el chat de voz." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Estamos comprobando si tu tarjeta cumple los requisitos para acceder a precios locales. Esto suele tardar un momento." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Tu tarjeta cumple los requisitos. Te estamos redirigiendo a la página de pago." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Tu compra más reciente ya no está dentro del período de reembolso. Co msgid "Your new nickname, or leave blank to reset it." msgstr "Tu nuevo apodo, o déjalo en blanco para restablecerlo." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Se canceló tu pago. Ahora puedes cerrar esta pestaña y volver a la aplicación." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Tu pago se realizó con éxito. Ya puedes cerrar esta pestaña y volver a la app." diff --git a/fluxer_app/src/features/i18n/locales/es-ES/messages.po b/fluxer_app/src/features/i18n/locales/es-ES/messages.po index 1930b40f2..204260b5f 100644 --- a/fluxer_app/src/features/i18n/locales/es-ES/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-ES/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# personalización} other {# personalizacio msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} se encarga del pago de forma segura." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} primero verificará que tu tarjeta es apta para precios localizados y luego te dirigirá al pago. Vuelve a {productName} cuando hayas terminado." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Todos los MD y comunidades" msgid "All DMs only" msgstr "Solo mensajes directos" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Todo listo" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Se proporcionó un estado no válido. Puedes cerrar esta pestaña y volver a la aplicación." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Se ha proporcionado un estado no válido. Ya puedes cerrar esta pestaña y volver a la aplicación." @@ -6739,14 +6734,6 @@ msgstr "Alineación de la tarjeta" msgid "Card alignment controls" msgstr "Controles de alineación de tarjeta" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Tarjeta no apta" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Se ha cancelado la verificación de la tarjeta. Puedes cerrar esta pestaña y volver a la aplicación." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Pagar" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "El pago está bloqueado para esta cuenta." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "El pago está bloqueado para esta cuenta. Contacta con {supportEmail} si necesitas ayuda." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Pago no disponible" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Elige cómo se muestran las horas en la aplicación" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Elige cómo quieres pagar esta suscripción." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Elige uno de los métodos siguientes para verificar la propiedad del dominio. Solo tienes que completar uno." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Elige un método de pago" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Completar verificación de contenido para adultos" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Completar pago" @@ -9409,11 +9396,6 @@ msgstr "Los menús contextuales se pueden abrir con un clic izquierdo (en botone msgid "Continue" msgstr "Continuar" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Continuar con el pago" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,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 grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "No se pudo iniciar la autorización de {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "No se pudo iniciar el pago" @@ -18574,7 +18556,7 @@ msgstr "Valor de redirect_uri no válido" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Estado no válido" @@ -20067,11 +20049,6 @@ msgstr "Formato de hora del idioma" msgid "Localization" msgstr "Idioma y región" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "La verificación de tarjetas para acceder a precios locales no está disponible en este momento. Inténtalo de nuevo más tarde." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Otro" msgid "Other devices" msgstr "Otros dispositivos" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Otros métodos" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Paga una vez y obtén un enlace de regalo para compartir. Los regalos nunca se renuevan." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Paga con {pixPaymentMethod} Automático para autorizar cargos recurrentes directamente desde tu banco brasileño. O elige \"Usar tarjeta\" para introducir una tarjeta de crédito en la siguiente pantalla de {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Paga con {upiPaymentMethod} para autorizar cargos mediante un mandato electrónico de tu banco indio que cumpla los requisitos del RBI. O elige \"Usar tarjeta\" para introducir una tarjeta de crédito en la siguiente pantalla de {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Pago cancelado" @@ -24980,7 +24952,7 @@ msgstr "Pago cancelado" msgid "Payment method" msgstr "Método de pago" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Pago realizado correctamente" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Precios" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "El precio aún se está cargando." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Regalos comprados" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Las compras están desactivadas para esta cuenta." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Las compras están deshabilitadas para esta cuenta. Contacta con {supportEmail} si crees que es un error." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Compras no disponibles" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Algo salió mal al enviar tu correo de verificación. Por favor, inténtalo de nuevo en un momento." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Algo salió mal al iniciar el proceso de pago. Inténtalo de nuevo en un momento." @@ -32672,16 +32644,6 @@ msgstr "Eliminar seguimiento" msgid "Strip tracking parameters from URLs" msgstr "Eliminar parámetros de seguimiento de las URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe no ha podido verificar esta tarjeta para acceder a precios locales. Usa otra tarjeta o vuelve a {productName} y elige otro método de pago." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe ha informado de que la tarjeta se emitió en {countryName}. Para pagar en esta moneda local, usa una tarjeta emitida en tu país de facturación o vuelve a {productName} y elige otro método de pago." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Suscripción" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "La suscripción ya existe" @@ -34051,11 +34013,6 @@ msgstr "Esta llamada está cifrada de extremo a extremo." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Esto no se puede deshacer. Al eliminar la aplicación, también se borrará su bot." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Esta tarjeta no se emitió en tu país de facturación, por lo que no puedes usarla para pagar en esta moneda local. Usa una tarjeta local o vuelve a {productName} y elige otro método de pago." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Este selector solo está disponible en la aplicación de escritorio." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Este plan no está disponible. Contacta con el equipo de soporte." @@ -34709,11 +34666,6 @@ msgstr "Este usuario ya no existe. Actualiza y vuelve a intentarlo." msgid "This user was force-added to this community by a platform administrator." msgstr "Un administrador de la plataforma forzó la incorporación de este usuario a la comunidad." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "La sesión de verificación ha caducado. Vuelve a {productName} y reinicia el proceso de compra." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Usar {everyoneMention}/{hereMention} y {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Usar {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Usa {query} donde deba insertarse el texto a traducir." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Usar {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Usar valor real" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Usar método alternativo" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Usar la configuración regional del navegador para el formato de hora" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Usar tarjeta" @@ -37099,36 +37051,6 @@ msgstr "Usar el tema oscuro antiguo (paleta gris neutra original)" msgid "Use light theme" msgstr "Usar tema claro" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Usar tarjeta local" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Elige \"Usar tarjeta local\" para verificar una tarjeta emitida en Brasil antes de pagar en BRL. Elige otros métodos si prefieres probar {pixPaymentMethod} u otro método de pago que {paymentProviderName} ofrezca en la siguiente pantalla." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Elige \"Usar tarjeta local\" para verificar una tarjeta emitida en la India antes de pagar en INR. Elige otros métodos si prefieres probar {upiPaymentMethod} u otro método de pago que {paymentProviderName} ofrezca en la siguiente pantalla." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Elige \"Usar tarjeta local\" para verificar una tarjeta emitida en Polonia antes de pagar en PLN. {blikPaymentMethod} no admite suscripciones en la pantalla de pago de {paymentProviderName}, así que continúa solo si quieres usar la pantalla de pago estándar de {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Elige \"Usar tarjeta local\" para verificar una tarjeta emitida en Turquía antes de pagar en TRY. Aquí no hay un método local de suscripción mediante una aplicación, por lo que continuar te llevará a la pantalla de pago estándar de {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Elige \"Usar tarjeta local\" para verificar una tarjeta emitida en tu país de facturación antes de pagar. Elige otros métodos para usar cualquier otro método de pago que {paymentProviderName} ofrezca en la siguiente pantalla." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verificación y requisitos de acceso a comunidades" msgid "Verification barrier" msgstr "Barrera de verificación" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verificación cancelada" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Correo electrónico de verificación enviado. Revisa tu bandeja de entra #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verificación caducada" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Verificación fallida" @@ -37622,11 +37538,6 @@ msgstr "Comunidad verificada" msgid "Verify" msgstr "Verificar" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Verificar tarjeta" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Verificar código" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Verifica tu correo electrónico antes de enviar solicitudes de amistad." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verifica tu correo electrónico primero" @@ -37744,10 +37655,6 @@ msgstr "Verifica tu correo electrónico para comprar {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Verifica tu correo electrónico para iniciar MD." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Verificando tarjeta" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Verificando código…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Barra de notificación de 2FA de Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary ya incluye acceso permanente, por lo que no es necesaria una suscripción recurrente. Aun así, puedes comprar regalos para otros." @@ -38611,11 +38518,6 @@ msgstr "El selector de Wayland lo gestiona xdg-desktop-portal y muestra todas la msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "El selector de Wayland lo gestiona xdg-desktop-portal y muestra todas las ventanas y pantallas juntas. No hay ninguna opción para mostrar solo las ventanas. Pulsa \"Abrir selector del sistema\" y elige una ventana para capturar el audio de esa aplicación." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "No hemos podido confirmar tu tarjeta en este momento. Actualiza esta página o vuelve a {productName} e inténtalo de nuevo." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "No hemos podido eliminar esa cuenta. Inténtalo de nuevo." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "¡Ahora eres desarrollador!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Ahora vas a {paymentProviderName} para completar el pago. Vuelve a {productName} cuando lo hayas terminado." @@ -39488,7 +39390,7 @@ msgstr "Puedes cerrar esta ventana. La importación continuará en segundo plano msgid "You can close this tab" msgstr "Puedes cerrar esta pestaña" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Ya puedes cerrar esta pestaña y volver a la aplicación." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Debes verificar tu dirección de correo electrónico antes de poder iniciar un mensaje directo." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Tienes que verificar tu correo electrónico antes de poder comprar {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Ya sois amigos." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Ya eres Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Has alcanzado el límite de solicitudes. Espera {duration} antes de volver a intentarlo." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Actualmente tienes una suscripción de regalo. No se renovará. Puedes canjear más códigos de regalo para extenderla. Las suscripciones recurrentes se pueden iniciar una vez que finalice tu período de regalo." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Has visto todas tus menciones recientes. Pronto aparecerán más aquí." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Tu suscripción a {premiumProductFullName} se factura a través de {storeName}. Puedes gestionarla en tu cuenta de {storeName} para cambiar de plan o comprobar el estado de la renovación." @@ -40316,14 +40218,6 @@ msgstr "Tu solicitud está pendiente de revisión. Aún puedes actualizar los da msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Tu navegador requiere interacción del usuario para poder reproducir audio. Haz clic en el botón de abajo para activar el chat de voz." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Estamos comprobando si tu tarjeta cumple los requisitos para acceder a precios locales. Esto suele tardar un momento." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Tu tarjeta cumple los requisitos. Te estamos redirigiendo a la página de pago." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Tu compra más reciente ya no está dentro del plazo de reembolso. Conta msgid "Your new nickname, or leave blank to reset it." msgstr "Tu nuevo apodo, o déjalo en blanco para restablecerlo." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Se ha cancelado tu pago. Ya puedes cerrar esta pestaña y volver a la aplicación." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Tu pago se ha realizado correctamente. Ya puedes cerrar esta pestaña y volver a la aplicación." diff --git a/fluxer_app/src/features/i18n/locales/fi/messages.po b/fluxer_app/src/features/i18n/locales/fi/messages.po index 967064f3b..0f37b9bcf 100644 --- a/fluxer_app/src/features/i18n/locales/fi/messages.po +++ b/fluxer_app/src/features/i18n/locales/fi/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# ohitus} other {# ohitusta}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} hoitaa maksut turvallisesti." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} tarkistaa ensin, että korttisi kelpaa paikalliseen hinnoitteluun, ja ohjaa sinut sitten maksamaan. Palaa palveluun {productName}, kun olet suorittanut maksun." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Kaikki yksityisviestit + yhteisöt" msgid "All DMs only" msgstr "Vain kaikki yksityisviestit" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Valmis" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Annettu tila oli virheellinen. Voit sulkea tämän välilehden ja palata takaisin sovellukseen." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Annettu tila on virheellinen. Voit nyt sulkea tämän välilehden ja palata takaisin sovellukseen." @@ -6739,14 +6734,6 @@ msgstr "Kortin tasaus" msgid "Card alignment controls" msgstr "Kortin tasausasetukset" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Kortti ei kelpaa" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Kortin vahvistus peruutettiin. Voit sulkea tämän välilehden ja palata takaisin sovellukseen." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Kassa" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Tilin maksutapahtumat on estetty." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Ostaminen on estetty tällä tilillä. Jos tarvitset apua, ota yhteyttä osoitteeseen {supportEmail}." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Kassa ei ole käytettävissä" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Valitse, miten kellonajat näytetään sovelluksessa" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Valitse, miten haluat maksaa tästä tilauksesta." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Valitse yksi alla olevista tavoista todistaaksesi verkkotunnuksen omistajuuden. Sinun tarvitsee suorittaa vain yksi." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Valitse maksutapa" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Suorita aikuisille tarkoitetun sisällön tarkistus" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Suorita maksu" @@ -9409,11 +9396,6 @@ msgstr "Pikavalikot voi avata vasemmalla napsautuksella (painikkeissa) tai oikea msgid "Continue" msgstr "Jatka" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Jatka maksuun" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Hakutulosta ei voitu avata" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Kohteen {blueskyProviderName} valtuutusta ei voitu aloittaa" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Kassan avaaminen epäonnistui" @@ -18574,7 +18556,7 @@ msgstr "Virheellinen redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Virheellinen tila" @@ -20067,11 +20049,6 @@ msgstr "Ajan esitysmuoto" msgid "Localization" msgstr "Lokalisointi" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Kortin paikallinen vahvistus ei ole käytettävissä juuri nyt. Yritä myöhemmin uudelleen." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Muu" msgid "Other devices" msgstr "Muut laitteet" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Muut maksutavat" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Maksa kerran ja saat jaettavan lahjalinkin. Lahjat eivät uusiudu." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Maksa {pixPaymentMethod} Automáticolla, niin valtuutat toistuvat veloitukset suoraan brasilialaisesta pankistasi. Voit myös valita ”Käytä korttia” ja syöttää luottokortin {paymentProviderName}-palvelun seuraavalla näytöllä." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Maksa {upiPaymentMethod}-maksutavalla, niin luot RBI-vaatimusten mukaisen e-valtuutuksen intialaisesta pankistasi. Voit myös valita ”Käytä korttia” ja syöttää luottokortin {paymentProviderName}-palvelun seuraavalla näytöllä." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Maksu peruutettu" @@ -24980,7 +24952,7 @@ msgstr "Maksu peruutettu" msgid "Payment method" msgstr "Maksutapa" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Maksu onnistui" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Hinnoittelu" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Hintatiedot latautuvat yhä." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Ostetut lahjat" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Ostokset on poistettu käytöstä tältä tililtä." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Ostaminen on poistettu käytöstä tällä tilillä. Jos tämä näyttää virheeltä, ota yhteyttä osoitteeseen {supportEmail}." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Ostaminen ei ole käytettävissä" @@ -31635,7 +31607,7 @@ msgstr "Jokin meni pieleen aktiviteettilokia ladattaessa." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Jokin meni pieleen vahvistussähköpostia lähetettäessä. Yritä uudelleen hetken kuluttua." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Jokin meni pieleen kassaa avattaessa. Yritä uudelleen hetken kuluttua." @@ -32672,16 +32644,6 @@ msgstr "Poista seuranta" msgid "Strip tracking parameters from URLs" msgstr "Poista seurantaparametrit URL-osoitteista" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe ei voinut vahvistaa tätä korttia paikallishinnoittelua varten. Käytä toista korttia tai palaa takaisin {productName}-sovellukseen ja valitse toinen maksutapa." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe ilmoitti, että kortti on myönnetty maassa {countryName}. Jos haluat maksaa tässä paikallisessa valuutassa, käytä laskutusmaassasi myönnettyä korttia tai palaa takaisin {productName}-sovellukseen ja valitse toinen maksutapa." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Tilaus" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Tilaus on jo olemassa" @@ -34051,11 +34013,6 @@ msgstr "Puhelu on päästä päähän -salattu." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Tätä toimintoa ei voi kumota. Sovelluksen poistaminen poistaa myös sen botin." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Tämä kortti ei vastaa laskutusmaatasi, joten sitä ei voi käyttää tähän paikalliseen valuuttaan. Käytä paikallista korttia tai palaa {productName}-sovellukseen ja valitse toinen maksutapa." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Tämä valitsin on käytettävissä vain työpöytäsovelluksessa." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Tämä tilaus ei ole saatavilla. Ota yhteyttä tukeen." @@ -34709,11 +34666,6 @@ msgstr "Tätä käyttäjää ei enää ole. Päivitä ja yritä uudelleen." msgid "This user was force-added to this community by a platform administrator." msgstr "Alustan ylläpitäjä lisäsi tämän käyttäjän pakolla tähän yhteisöön." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Vahvistusistunto vanhentui. Palaa sovellukseen {productName} ja siirry uudelleen kassalle." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Käytä tunnisteita {everyoneMention}/{hereMention} ja {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Käytä {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Käytä {query}-merkintää siihen kohtaan, johon käännettävä teksti lisätään." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Käytä {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Käytä todellista arvoa" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Käytä toista maksutapaa" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Käytä selaimen ajan esitysmuotoa" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Käytä korttia" @@ -37099,36 +37051,6 @@ msgstr "Käytä vanhaa tummaa teemaa (alkuperäinen neutraali harmaa paletti)" msgid "Use light theme" msgstr "Käytä vaaleaa teemaa" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Käytä paikallista korttia" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Käytä paikallista korttia vahvistaaksesi Brasiliassa myönnetyn kortin ennen maksullista BRL-kassaa. Valitse muut maksutavat, jos haluat mieluummin kokeilla {pixPaymentMethod}-maksua tai muuta maksutapaa, jota {paymentProviderName} tarjoaa seuraavalla näytöllä." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Käytä paikallista korttia Intiassa myönnetyn kortin vahvistamiseen ennen maksullista INR-maksua. Valitse muut maksutavat, jos haluat mieluummin kokeilla {upiPaymentMethod}-maksua tai muuta maksutapaa, jota {paymentProviderName} tarjoaa seuraavalla näytöllä." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Käytä paikallista korttia vahvistaaksesi Puolassa myönnetyn kortin ennen maksullista PLN-kassaa. {blikPaymentMethod} ei tue tilauksia {paymentProviderName}-kassalla, joten jatka vain, jos haluat sen sijaan {paymentProviderName2}-palvelun vakiomaksunäytön." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Käytä paikallista korttia vahvistaaksesi Turkissa myönnetyn kortin ennen maksullista TRY-kassaa. Täällä ei ole sovelluspohjaista paikallista tilausmenetelmää, joten jatkaminen vie sinut {paymentProviderName}-palvelun tavalliselle maksunäytölle." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Käytä paikallista korttia vahvistaaksesi laskutusmaassasi myönnetyn kortin ennen maksullista ostoa. Valitse muut maksutavat, jos haluat käyttää jotain muuta maksutapaa, jota {paymentProviderName} tarjoaa seuraavalla näytöllä." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Vahvistus- ja jäsenyysrajoitukset" msgid "Verification barrier" msgstr "Vahvistuseste" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Vahvistus peruutettu" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Vahvistussähköposti lähetetty. Tarkista saapuneet-kansiosi." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Vahvistus vanhentui" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Vahvistus epäonnistui" @@ -37622,11 +37538,6 @@ msgstr "Vahvistettu yhteisö" msgid "Verify" msgstr "Vahvista" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Vahvista kortti" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Vahvista koodi" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Vahvista sähköpostiosoitteesi ennen kaveripyyntöjen lähettämistä." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Vahvista sähköpostiosoitteesi ensin" @@ -37744,10 +37655,6 @@ msgstr "Vahvista sähköpostiosoitteesi ostaaksesi {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Vahvista sähköpostiosoitteesi aloittaaksesi yksityisviestit." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Vahvistetaan korttia" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Vahvistetaan koodia…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 2FA -ilmoituspalkki" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary sisältää jo pysyvän käyttöoikeuden, joten toistuvaa tilausta ei tarvita. Voit silti ostaa lahjoja muille." @@ -38611,11 +38518,6 @@ msgstr "Waylandin xdg-desktop-portal omistaa valitsimen ja näyttää kaikki ikk msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Waylandin xdg-desktop-portal omistaa valitsimen ja näyttää kaikki ikkunat ja näytöt yhdessä. Sitä ei voi suodattaa näyttämään vain ikkunoita. Paina \"Avaa järjestelmän valitsin\" ja valitse sieltä ikkuna, niin saat sovelluskohtaisen äänen." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Emme voineet vahvistaa korttiasi juuri nyt. Päivitä sivu tai palaa takaisin sovellukseen {productName} ja yritä uudelleen." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Tilin poistaminen ei onnistunut. Yritä uudelleen." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Olet nyt kehittäjä!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Siirryt nyt maksupalveluun {paymentProviderName} suorittamaan maksun. Palaa takaisin sovellukseen {productName}, kun olet valmis." @@ -39488,7 +39390,7 @@ msgstr "Voit sulkea tämän ikkunan. Tuonti jatkuu taustalla." msgid "You can close this tab" msgstr "Voit sulkea tämän välilehden" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Voit nyt sulkea tämän välilehden ja palata takaisin sovellukseen." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Sinun on vahvistettava sähköpostiosoitteesi, ennen kuin voit aloittaa yksityisviestin." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Sinun on vahvistettava sähköpostiosoitteesi, ennen kuin voit ostaa tuotteen {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Olet jo tämän käyttäjän kaveri." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Olet jo Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Toimintoa on rajoitettu. Odota {duration}, ennen kuin yrität uudelleen." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Sinulla on lahjatilaus. Se ei uusiudu automaattisesti. Voit pidentää tilausta lunastamalla lisää lahjakoodeja. Toistuvat tilaukset voi aloittaa lahjatilauksen päätyttyä." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Olet nähnyt kaikki viimeisimmät mainintasi. Uusia ilmestyy pian tähän." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "{premiumProductFullName}-tilauksesi laskutetaan {storeName}-palvelun kautta. Voit hallita sitä {storeName}-tililläsi vaihtaaksesi tilausta tai tarkistaaksesi uusimisen tilan." @@ -40316,14 +40218,6 @@ msgstr "Hakemuksesi odottaa tarkistusta. Voit edelleen päivittää listauksesi msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Selaimesi vaatii käyttäjältä toimenpiteen, ennen kuin ääni voidaan toistaa. Ota äänichat käyttöön napsauttamalla alla olevaa painiketta." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Tarkistamme korttisi paikallista hinnoittelua varten. Tämä kestää yleensä hetken." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Korttisi kelpaa. Ohjaamme sinut nyt maksusivulle." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Viimeisin ostoksesi ei ole enää hyvitysajan sisällä. Ota yhteyttä t msgid "Your new nickname, or leave blank to reset it." msgstr "Uusi lempinimesi, tai jätä tyhjäksi palauttaaksesi sen." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Maksusi peruttiin. Voit nyt sulkea tämän välilehden ja palata sovellukseen." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Maksu onnistui. Voit nyt sulkea tämän välilehden ja palata sovellukseen." diff --git a/fluxer_app/src/features/i18n/locales/fr/messages.po b/fluxer_app/src/features/i18n/locales/fr/messages.po index 9c375dd87..c12ed4241 100644 --- a/fluxer_app/src/features/i18n/locales/fr/messages.po +++ b/fluxer_app/src/features/i18n/locales/fr/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# personnalisation} other {# personnalisati msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} gère le paiement en toute sécurité." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} vérifiera d’abord si votre carte permet de bénéficier des tarifs régionaux, puis vous redirigera vers le paiement. Revenez à {productName} une fois le paiement terminé." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Tous les MP et toutes les communautés" msgid "All DMs only" msgstr "Tous les MP uniquement" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Terminé" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Un statut non valide a été fourni. Vous pouvez fermer cet onglet et retourner à l'application." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Un statut non valide a été fourni. Vous pouvez maintenant fermer cet onglet et retourner à l'application." @@ -6739,14 +6734,6 @@ msgstr "Alignement de la carte" msgid "Card alignment controls" msgstr "Commandes d'alignement des cartes" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Carte non éligible" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "La vérification de la carte a été annulée. Vous pouvez fermer cet onglet et retourner à l'application." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Paiement" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Le paiement est bloqué pour ce compte." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Le paiement est bloqué pour ce compte. Contactez {supportEmail} si vous avez besoin d'aide." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Paiement indisponible" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Choisissez le format d’affichage des heures dans l’application" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Choisissez comment vous souhaitez payer cet abonnement." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Choisissez une des méthodes ci-dessous pour prouver que le domaine vous appartient. Une seule suffit." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Choisir le mode de paiement" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Vérifier l’accès aux contenus pour adultes" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Finaliser le paiement" @@ -9409,11 +9396,6 @@ msgstr "Les menus contextuels peuvent être ouverts par un clic gauche (sur les msgid "Continue" msgstr "Continuer" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Continuer vers le paiement" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Impossible d'ouvrir le résultat de recherche" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Impossible de démarrer l'autorisation {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Impossible de démarrer le paiement" @@ -18574,7 +18556,7 @@ msgstr "Paramètre redirect_uri non valide" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Statut non valide" @@ -20067,11 +20049,6 @@ msgstr "Format de l’heure selon la langue" msgid "Localization" msgstr "Localisation" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "La vérification de l’éligibilité de votre carte aux tarifs régionaux est indisponible pour le moment. Réessayez plus tard." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Autre" msgid "Other devices" msgstr "Autres appareils" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Autres méthodes" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Payez une fois et recevez un lien cadeau à partager. Les cadeaux ne sont jamais renouvelés." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Payez avec {pixPaymentMethod} Automático pour autoriser des prélèvements récurrents depuis votre banque brésilienne. Vous pouvez aussi choisir « Utiliser une carte » pour saisir une carte de crédit à l’étape suivante sur {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Payez avec {upiPaymentMethod} pour établir un mandat électronique conforme aux exigences de la RBI auprès de votre banque indienne. Vous pouvez aussi choisir « Utiliser une carte » pour saisir une carte de crédit à l’étape suivante sur {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Paiement annulé" @@ -24980,7 +24952,7 @@ msgstr "Paiement annulé" msgid "Payment method" msgstr "Mode de paiement" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Paiement réussi" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Tarifs" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Le tarif est encore en cours de chargement." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Cadeaux achetés" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Les achats sont désactivés pour ce compte." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Les achats sont désactivés pour ce compte. Contactez {supportEmail} si cela vous semble incorrect." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Achats indisponibles" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Un problème est survenu lors de l'envoi de votre e-mail de vérification. Veuillez réessayer dans un instant." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Un problème est survenu lors du démarrage du paiement. Veuillez réessayer dans un instant." @@ -32672,16 +32644,6 @@ msgstr "Supprimer le suivi" msgid "Strip tracking parameters from URLs" msgstr "Supprimer les paramètres de suivi des URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe n’a pas pu vérifier l’éligibilité de cette carte aux tarifs régionaux. Utilisez une autre carte ou revenez dans {productName} et choisissez un autre mode de paiement." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Selon Stripe, cette carte a été émise dans ce pays : {countryName}. Pour payer dans cette devise locale, utilisez une carte émise dans votre pays de facturation ou revenez dans {productName} et choisissez un autre mode de paiement." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Abonnement" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Abonnement déjà existant" @@ -34051,11 +34013,6 @@ msgstr "Cet appel est chiffré de bout en bout." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Cette action est irréversible. La suppression de l'application entraîne également la suppression de son bot." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Cette carte n’a pas été émise dans votre pays de facturation et ne permet donc pas de payer dans cette devise locale. Utilisez une carte locale ou revenez dans {productName} et choisissez un autre mode de paiement." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Ce sélecteur est uniquement disponible dans l'application de bureau." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Ce forfait n'est pas disponible. Contactez l'assistance." @@ -34709,11 +34666,6 @@ msgstr "Cet utilisateur n’existe plus. Actualisez et réessayez." msgid "This user was force-added to this community by a platform administrator." msgstr "Cet utilisateur a été ajouté de force à cette communauté par un administrateur de la plateforme." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Cette session de vérification a expiré. Retournez à {productName} et recommencez le paiement." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Utiliser {everyoneMention}/{hereMention} et {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Utiliser {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Utilisez {query} à l'endroit où le texte à traduire doit être inséré." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Utiliser {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Utiliser la valeur réelle" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Utiliser une autre méthode" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Utiliser les réglages du navigateur pour le format de l'heure" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Utiliser une carte" @@ -37099,36 +37051,6 @@ msgstr "Utiliser l'ancien thème sombre (palette grise neutre d'origine)" msgid "Use light theme" msgstr "Utiliser le thème clair" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Utiliser une carte locale" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Utilisez une carte locale pour vérifier une carte émise au Brésil avant le paiement en BRL. Choisissez d'autres méthodes si vous préférez essayer {pixPaymentMethod} ou un autre mode de paiement proposé par {paymentProviderName} sur l'écran suivant." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Utilisez une carte locale pour vérifier une carte émise en Inde avant le paiement en INR. Choisissez d'autres méthodes si vous préférez essayer {upiPaymentMethod} ou un autre mode de paiement proposé par {paymentProviderName} sur l'écran suivant." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Utilisez une carte locale pour vérifier une carte émise en Pologne avant le paiement en PLN. {blikPaymentMethod} ne prend pas en charge les abonnements dans le processus de paiement {paymentProviderName}. Ne continuez que si vous souhaitez utiliser l'écran de paiement standard de {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Choisissez « Utiliser une carte locale » pour vérifier une carte émise en Turquie avant le paiement en TRY. Aucun mode d’abonnement local via une application n’est disponible ici. Si vous continuez, vous accéderez à l’écran de paiement standard de {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Utilisez une carte locale pour vérifier une carte émise dans votre pays de facturation avant le paiement. Choisissez d'autres méthodes pour tout autre moyen de paiement proposé par {paymentProviderName} sur l'écran suivant." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Vérification et barrières d'adhésion" msgid "Verification barrier" msgstr "Barrière de vérification" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Vérification annulée" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "E-mail de vérification envoyé. Vérifiez votre boîte de réception." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Vérification expirée" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Échec de la vérification" @@ -37622,11 +37538,6 @@ msgstr "Communauté vérifiée" msgid "Verify" msgstr "Vérifier" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Vérifier la carte" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Vérifier le code" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Vérifiez votre adresse e-mail avant d'envoyer des demandes d'ami." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Vérifiez d'abord votre adresse e-mail" @@ -37744,10 +37655,6 @@ msgstr "Vérifiez votre adresse e-mail pour acheter {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Vérifiez votre adresse e-mail pour démarrer des conversations privées." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Vérification de la carte" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Vérification du code…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Bannière 2FA Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary inclut déjà un accès permanent, un abonnement récurrent n'est donc pas nécessaire. Vous pouvez toujours acheter des cadeaux pour d'autres personnes." @@ -38611,11 +38518,6 @@ msgstr "Le sélecteur de Wayland xdg-desktop-portal affiche toutes les fenêtres msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Le xdg-desktop-portal de Wayland gère le sélecteur et affiche toutes les fenêtres et tous les écrans ensemble. Il n'y a pas d'option pour filtrer uniquement les fenêtres. Appuyez sur \" Ouvrir le sélecteur système \", puis choisissez une fenêtre pour obtenir l'audio par application." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Nous n'avons pas pu confirmer votre carte pour le moment. Actualisez cette page ou retournez à {productName} et réessayez." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Nous n'avons pas pu supprimer ce compte. Veuillez réessayer." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Vous êtes maintenant développeur !" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Vous allez maintenant être redirigé(e) vers {paymentProviderName} pour finaliser le paiement. Revenez sur {productName} une fois l'opération terminée." @@ -39488,7 +39390,7 @@ msgstr "Vous pouvez fermer cette fenêtre. L'importation se poursuivra en arriè msgid "You can close this tab" msgstr "Vous pouvez fermer cet onglet" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Vous pouvez maintenant fermer cet onglet et retourner à l'application." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Vous devez vérifier votre adresse e-mail avant de pouvoir démarrer une conversation privée." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Vous devez vérifier votre adresse e-mail avant de pouvoir acheter {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Vous êtes déjà ami avec cet utilisateur." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Vous êtes déjà membre Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Vous êtes soumis à une limitation de débit. Veuillez patienter {duration} avant de réessayer." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Vous avez actuellement un abonnement cadeau. Il ne sera pas renouvelé. Vous pouvez utiliser d'autres codes cadeaux pour le prolonger. Les abonnements récurrents pourront être souscrits une fois votre abonnement cadeau terminé." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Vous avez vu toutes vos mentions récentes. D'autres apparaîtront bientôt ici." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Votre abonnement {premiumProductFullName} est facturé via {storeName}. Gérez-le depuis votre compte {storeName} pour changer de formule ou vérifier le statut de renouvellement." @@ -40316,14 +40218,6 @@ msgstr "Votre candidature est en attente d’examen. Vous pouvez encore modifier msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Votre navigateur nécessite une interaction de l'utilisateur avant de pouvoir lire l'audio. Cliquez sur le bouton ci-dessous pour activer le chat vocal." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Nous vérifions l’éligibilité de votre carte aux tarifs régionaux. Cela prend généralement un instant." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Votre carte est éligible. Redirection vers la page de paiement en cours." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Votre achat le plus récent n’est plus dans la période de rembourseme msgid "Your new nickname, or leave blank to reset it." msgstr "Votre nouveau surnom, ou laissez vide pour le réinitialiser." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Votre paiement a été annulé. Vous pouvez maintenant fermer cet onglet et retourner à l'application." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Votre paiement a été effectué. Vous pouvez maintenant fermer cet onglet et retourner à l'application." diff --git a/fluxer_app/src/features/i18n/locales/he/messages.po b/fluxer_app/src/features/i18n/locales/he/messages.po index 158c8df9e..fccc14019 100644 --- a/fluxer_app/src/features/i18n/locales/he/messages.po +++ b/fluxer_app/src/features/i18n/locales/he/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# עקיפה} other {# עקיפות}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} מטפל בתשלומים באופן מאובטח." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} יאמת תחילה שהכרטיס שלך זכאי לתמחור מקומי, ולאחר מכן יעביר אותך לתשלום. חזור ל-{productName} לאחר שתסיים את התהליך." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "כל ההודעות הפרטיות + הקהילות" msgid "All DMs only" msgstr "כל ההודעות הפרטיות בלבד" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "הכול בוצע" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "צוין סטטוס לא חוקי. ניתן לסגור את הכרטיסייה ולחזור לאפליקציה." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "צוין סטטוס לא חוקי. עכשיו אפשר לסגור את הכרטיסייה הזו ולחזור לאפליקציה." @@ -6739,14 +6734,6 @@ msgstr "יישור כרטיס" msgid "Card alignment controls" msgstr "פקדי יישור כרטיס" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "הכרטיס לא מתאים" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "אימות הכרטיס בוטל. ניתן לסגור את הלשונית ולחזור לאפליקציה." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "תשלום" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "התשלום חסום עבור חשבון זה." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "התשלום חסום עבור חשבון זה. צור קשר עם {supportEmail} אם אתה זקוק לעזרה." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "התשלום אינו זמין" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "בחר כיצד יוצג הזמן ברחבי האפליקציה" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "בחר איך לשלם על המינוי הזה." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "בחר אחת מהשיטות הבאות כדי להוכיח בעלות על הדומיין. עליך להשלים רק אחת." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "בחירת אמצעי תשלום" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "השלמת בדיקת התוכן למבוגרים" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "השלם תשלום" @@ -9409,11 +9396,6 @@ msgstr "ניתן לפתוח תפריטי הקשר בלחיצה שמאלית (ע msgid "Continue" msgstr "המשך" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "המשך לתשלום" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "לא ניתן היה לפתוח את תוצאת החיפוש" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "לא ניתן היה להתחיל את ההרשאה עבור {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "לא ניתן להתחיל את התשלום" @@ -18574,7 +18556,7 @@ msgstr "כתובת הניתוב מחדש (redirect_uri) אינה תקינה" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "סטטוס לא תקין" @@ -20067,11 +20049,6 @@ msgstr "פורמט שעה מקומי" msgid "Localization" msgstr "לוקליזציה" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "אימות כרטיס מקומי אינו זמין כעת. נסה שוב מאוחר יותר." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "אחר" msgid "Other devices" msgstr "מכשירים אחרים" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "שיטות אחרות" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "שלם פעם אחת וקבל קישור מתנה לשתף. מתנות לעולם אינן מתחדשות." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "שלם באמצעות {pixPaymentMethod} Automático כדי לאשר חיובים חוזרים ישירות מהבנק הברזילאי שלך. לחלופין, בחר באפשרות \"שימוש בכרטיס\" כדי להזין כרטיס אשראי במסך הבא של {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "שלם באמצעות {upiPaymentMethod} כדי להגדיר הוראת קבע אלקטרונית תואמת RBI מהבנק ההודי שלך. לחלופין, בחר באפשרות \"שימוש בכרטיס\" כדי להזין כרטיס אשראי במסך הבא של {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "התשלום בוטל" @@ -24980,7 +24952,7 @@ msgstr "התשלום בוטל" msgid "Payment method" msgstr "אמצעי תשלום" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "התשלום בוצע בהצלחה" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "תמחור" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "המחירים עדיין נטענים." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "מתנות שנרכשו" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "הרכישות מושבתות עבור חשבון זה." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "הרכישות מושבתות עבור חשבון זה. צור קשר עם {supportEmail} אם נראה לך שזו טעות." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "רכישות אינן זמינות" @@ -31635,7 +31607,7 @@ msgstr "משהו השתבש בזמן טעינת יומן הפעילות." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "משהו השתבש במהלך שליחת אימייל האימות שלך. יש לנסות שוב בעוד רגע." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "משהו השתבש במהלך התחלת התשלום. יש לנסות שוב בעוד רגע." @@ -32672,16 +32644,6 @@ msgstr "הסרת מעקב" msgid "Strip tracking parameters from URLs" msgstr "הסרת פרמטרי מעקב מכתובות URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe לא הצליחה לאמת את הכרטיס הזה עבור תמחור מקומי. השתמש בכרטיס אחר, או חזור אל {productName} ובחר אמצעי תשלום אחר." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe דיווחה על כרטיס שהונפק ב-{countryName}. כדי לשלם במטבע המקומי, השתמש בכרטיס שהונפק במדינת החיוב שלך, או חזור אל {productName} ובחר אמצעי תשלום אחר." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "מנוי" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "המנוי כבר קיים" @@ -34051,11 +34013,6 @@ msgstr "שיחה זו מוצפנת מקצה לקצה." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "לא ניתן לבטל פעולה זו. הסרת האפליקציה תמחק גם את הבוט שלה." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "הכרטיס הזה אינו תואם למדינת החיוב שלך, ולכן לא ניתן להשתמש בו עבור המטבע המקומי הזה. השתמש בכרטיס מקומי, או חזור אל {productName} ובחר אמצעי תשלום אחר." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "בורר זה זמין רק באפליקציית המחשב." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "התוכנית הזו אינה זמינה. יש ליצור קשר עם התמיכה." @@ -34709,11 +34666,6 @@ msgstr "המשתמש הזה כבר לא קיים. רענן ונסה שוב." msgid "This user was force-added to this community by a platform administrator." msgstr "משתמש זה נוסף בכפייה לקהילה על ידי מנהל פלטפורמה." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "תוקף סשן האימות פג. יש לחזור אל {productName} ולהתחיל את תהליך התשלום מחדש." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "שימוש ב-{everyoneMention}/{hereMention} וב-{rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "שימוש ב-{pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "השתמש ב-{query} במקום שבו יוכנס הטקסט לתרגום." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "שימוש ב-{upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "השתמש בערך האמיתי" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "שימוש בשיטה חלופית" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "השתמש בהגדרות הדפדפן עבור פורמט השעה" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "שימוש בכרטיס" @@ -37099,36 +37051,6 @@ msgstr "שימוש בערכת הנושא הכהה הישנה (לוח צבעים msgid "Use light theme" msgstr "שימוש בערכת נושא בהירה" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "שימוש בכרטיס מקומי" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "השתמש בכרטיס מקומי כדי לאמת כרטיס שהונפק בברזיל לפני התשלום ב-BRL. בחר שיטות אחרות אם אתה מעדיף לנסות את {pixPaymentMethod} או אמצעי תשלום אחר ש-{paymentProviderName} מציע במסך הבא." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "השתמש בכרטיס מקומי כדי לאמת כרטיס שהונפק בהודו לפני התשלום ב-INR. בחר שיטות אחרות אם אתה מעדיף לנסות את {upiPaymentMethod} או אמצעי תשלום אחר ש-{paymentProviderName} מציע במסך הבא." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "השתמש בכרטיס מקומי כדי לאמת כרטיס שהונפק בפולין לפני התשלום ב-PLN. {blikPaymentMethod} אינו תומך במנויים בתשלום דרך {paymentProviderName}, לכן המשך רק אם אתה רוצה את מסך התשלום הסטנדרטי של {paymentProviderName2} במקום זאת." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "השתמש בכרטיס מקומי כדי לאמת כרטיס שהונפק בטורקיה לפני התשלום ב-TRY. אין כאן שיטת מנוי מקומית מבוססת אפליקציה, לכן המשך יוביל אותך למסך התשלום הסטנדרטי של {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "השתמש בכרטיס מקומי כדי לאמת כרטיס שהונפק במדינת החיוב שלך לפני התשלום. בחר שיטות אחרות עבור כל אמצעי תשלום אחר ש-{paymentProviderName} מציע במסך הבא." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "מחסומי אימות וחברות" msgid "Verification barrier" msgstr "מחסום אימות" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "האימות בוטל" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "נשלחה הודעת אימות. יש לבדוק את תיבת הדוא #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "האימות פג תוקף" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "האימות נכשל" @@ -37622,11 +37538,6 @@ msgstr "קהילה מאומתת" msgid "Verify" msgstr "אימות" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "אימות כרטיס" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "אימות קוד" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "יש לאמת את כתובת האימייל שלך לפני שליחת בקשות חברות." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "יש לאמת את כתובת האימייל שלך קודם" @@ -37744,10 +37655,6 @@ msgstr "אמת את האימייל שלך כדי לרכוש את {premiumProduct msgid "Verify your email to start DMs." msgstr "יש לאמת את כתובת האימייל שלך כדי להתחיל בצ'אטים פרטיים." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "מאמת את הכרטיס" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "מאמת קוד…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "באנר 2FA של Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary כבר כולל גישה קבועה, ולכן אין צורך במנוי מתחדש. עדיין אפשר לקנות מתנות לאחרים." @@ -38611,11 +38518,6 @@ msgstr "xdg-desktop-portal של Wayland הוא הבעלים של הבורר ומ msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "xdg-desktop-portal של Wayland הוא הבעלים של הבורר ומציג כל חלון ותצוגה יחד. אין דגל שמסנן אותו לחלונות בלבד. לחץ על 'פתיחת בורר המערכת', ואז בחר שם חלון כדי לקבל שמע לפי אפליקציה." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "לא הצלחנו לאשר את הכרטיס שלך כרגע. רענן את הדף או חזור אל {productName} ונסה שוב." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "לא הצלחנו להסיר את החשבון הזה. יש לנסות שוב." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} עבור חשבון זה. נהל אותו בפורטל החיובים המאובטח כדי לעדכן פרטי תשלום או לבדוק סטטוס חידוש. אם שילמת זה עתה, המתן דקה ופתח מחדש דף זה." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "כעת אתה מפתח!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "אתה עובר כעת אל {paymentProviderName} כדי להשלים את התשלום. חזור אל {productName} לאחר שתסיים." @@ -39488,7 +39390,7 @@ msgstr "אפשר לסגור את החלון הזה. הייבוא יימשך בר msgid "You can close this tab" msgstr "אפשר לסגור את הלשונית הזו" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "כעת ניתן לסגור את הלשונית ולחזור לאפליקציה." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "עליך לאמת את כתובת האימייל שלך לפני שתוכל להתחיל צ'אט." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "יש לאמת את כתובת האימייל שלך לפני שתוכל לרכוש את {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "אתה כבר חבר של המשתמש הזה." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "אתה כבר Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "הגעת למגבלת הקצב. המתן {duration} לפני שתנסה שוב." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "כרגע יש לך מנוי מתנה. הוא לא יתחדש. באפשרותך לממש קודי מתנה נוספים כדי להאריך אותו. ניתן להתחיל מנויים חוזרים לאחר שתקופת המתנה שלך תסתיים." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "ראית את כל האזכורים האחרונים שלך. נוספים יופיעו כאן בקרוב." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "המינוי שלך ל-{premiumProductFullName} מחויב דרך {storeName}. נהל אותו בחשבון {storeName} שלך כדי לשנות תוכנית או לבדוק סטטוס חידוש." @@ -40316,14 +40218,6 @@ msgstr "הבקשה שלך ממתינה לבדיקה. עדיין באפשרותך msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "הדפדפן שלך דורש אינטראקציה של המשתמש לפני שניתן להשמיע אודיו. לחץ על הכפתור למטה כדי לאפשר צ'אט קולי." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "הכרטיס שלך נבדק להתאמת מחיר מקומי. זה בדרך כלל לוקח רגע." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "הכרטיס שלך מתאים. אנו מעבירים אותך עכשיו לדף התשלום." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "הרכישה האחרונה שלך אינה עומדת עוד בחלון msgid "Your new nickname, or leave blank to reset it." msgstr "הכינוי החדש שלך, או השאר ריק כדי לאפס אותו." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "התשלום שלך בוטל. עכשיו אפשר לסגור את הכרטיסייה הזו ולחזור לאפליקציה." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "התשלום בוצע בהצלחה. עכשיו אפשר לסגור את הכרטיסייה הזו ולחזור לאפליקציה." diff --git a/fluxer_app/src/features/i18n/locales/hi/messages.po b/fluxer_app/src/features/i18n/locales/hi/messages.po index b5c0a703c..52c744035 100644 --- a/fluxer_app/src/features/i18n/locales/hi/messages.po +++ b/fluxer_app/src/features/i18n/locales/hi/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# ओवरराइड} other {# ओवर msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} सुरक्षित रूप से भुगतान संभालता है।" -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} पहले यह सत्यापित करेगा कि आपका कार्ड स्थानीयकृत मूल्य निर्धारण के लिए योग्य है, फिर आपको भुगतान के लिए आगे बढ़ाएगा। इसे पूरा करने के बाद {productName} पर वापस आएं।" - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "सभी DM + कम्युनिटी" msgid "All DMs only" msgstr "केवल सभी DM" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "हो गया" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "अमान्य स्टेटस मिला। आप इस टैब को बंद करके ऐप पर वापस जा सकते हैं।" #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "अमान्य स्टेटस मिला। अब आप इस टैब को बंद करके ऐप पर वापस जा सकते हैं।" @@ -6739,14 +6734,6 @@ msgstr "कार्ड अलाइनमेंट" msgid "Card alignment controls" msgstr "कार्ड अलाइनमेंट कंट्रोल" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "कार्ड योग्य नहीं है" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "कार्ड वेरिफ़िकेशन रद्द कर दिया गया है। आप इस टैब को बंद करके ऐप पर वापस जा सकते हैं।" - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "चेकआउट" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "इस खाते के लिए चेकआउट ब्लॉक है।" #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "इस अकाउंट के लिए चेकआउट ब्लॉक कर दिया गया है। अगर आपको मदद चाहिए, तो {supportEmail} पर संपर्क करें।" #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "चेकआउट अनुपलब्ध है" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "चुनें कि ऐप में समय कैसे दिखाया जाए" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "चुनें कि आप इस सदस्यता के लिए कैसे भुगतान करना चाहेंगे।" @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "डोमेन का मालिकाना हक साबित करने के लिए नीचे दिए गए तरीकों में से कोई एक चुनें। आपको सिर्फ़ एक ही पूरा करना होगा।" #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "भुगतान का तरीका चुनें" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "वयस्क सामग्री की जाँच पूरी करें" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "भुगतान पूरा करें" @@ -9409,11 +9396,6 @@ msgstr "कॉन्टेक्स्ट मेन्यू को लेफ् msgid "Continue" msgstr "जारी रखें" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "चेकआउट के लिए आगे बढ़ें" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "खोज परिणाम नहीं खुल सका" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "{blueskyProviderName} ऑथराइज़ेशन शुरू नहीं किया जा सका" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "चेकआउट शुरू नहीं किया जा सका" @@ -18574,7 +18556,7 @@ msgstr "अमान्य redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "अमान्य स्थिति" @@ -20067,11 +20049,6 @@ msgstr "स्थानीय समय फ़ॉर्मैट" msgid "Localization" msgstr "लोकलाइज़ेशन" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "स्थानीय कार्ड वेरिफ़िकेशन अभी उपलब्ध नहीं है। बाद में फिर से कोशिश करें।" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "अन्य" msgid "Other devices" msgstr "अन्य डिवाइस" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "अन्य तरीके" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "एक बार भुगतान करें और साझा करने के लिए एक उपहार लिंक प्राप्त करें। उपहार कभी भी नवीनीकृत नहीं होते हैं।" #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "अपने ब्राज़ीलियाई बैंक से सीधे बार-बार लगने वाले शुल्क की मंज़ूरी देने के लिए {pixPaymentMethod} Automático से भुगतान करें। या {paymentProviderName} की अगली स्क्रीन पर क्रेडिट कार्ड डालने के लिए \"कार्ड का उपयोग करें\" चुनें।" #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "अपने भारतीय बैंक से RBI के नियमों के मुताबिक ई-मैंडेट सेट करने के लिए {upiPaymentMethod} से भुगतान करें। या {paymentProviderName} की अगली स्क्रीन पर क्रेडिट कार्ड डालने के लिए \"कार्ड का उपयोग करें\" चुनें।" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "भुगतान रद्द किया गया" @@ -24980,7 +24952,7 @@ msgstr "भुगतान रद्द किया गया" msgid "Payment method" msgstr "भुगतान विधि" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "भुगतान सफल रहा" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "कीमत" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "कीमत अभी भी लोड हो रही है।" @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "खरीदे गए उपहार" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "इस खाते के लिए खरीदारी अक्षम कर दी गई है।" #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "इस अकाउंट के लिए खरीदारी अक्षम कर दी गई है। अगर यह गलत लगता है, तो {supportEmail} पर संपर्क करें।" #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "खरीदारी उपलब्ध नहीं है" @@ -31635,7 +31607,7 @@ msgstr "गतिविधि लॉग लोड करते समय कु #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "आपका वेरिफ़िकेशन ईमेल भेजने में कुछ गड़बड़ हो गई। कृपया कुछ देर बाद फिर से कोशिश करें।" #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "चेकआउट शुरू करते समय कुछ गड़बड़ हो गई। कृपया कुछ देर बाद फिर से कोशिश करें।" @@ -32672,16 +32644,6 @@ msgstr "ट्रैकिंग हटाएँ" msgid "Strip tracking parameters from URLs" msgstr "यूआरएल से ट्रैकिंग पैरामीटर हटाएँ" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe इस कार्ड को स्थानीय मूल्य निर्धारण के लिए सत्यापित नहीं कर सका। कोई दूसरा कार्ड इस्तेमाल करें, या {productName} पर वापस जाएं और कोई दूसरा भुगतान तरीका चुनें।" - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe ने बताया कि कार्ड {countryName} में जारी किया गया था। इस स्थानीय मुद्रा में भुगतान करने के लिए, अपने बिलिंग देश में जारी किया गया कार्ड इस्तेमाल करें, या {productName} पर वापस जाएं और कोई दूसरा भुगतान तरीका चुनें।" - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "सदस्यता" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "सदस्यता पहले से मौजूद है" @@ -34051,11 +34013,6 @@ msgstr "यह कॉल एंड-टू-एंड एन्क्रिप् msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "इसे पूर्ववत नहीं किया जा सकता। ऐप्लिकेशन हटाने से उसका बॉट भी हट जाएगा।" -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "यह कार्ड आपके बिलिंग देश से मेल नहीं खाता है, इसलिए इसका उपयोग इस स्थानीय मुद्रा के लिए नहीं किया जा सकता है। कोई स्थानीय कार्ड इस्तेमाल करें, या {productName} पर वापस जाएं और कोई अन्य भुगतान विधि चुनें।" - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "यह पिकर सिर्फ़ डेस्कटॉप ऐप में उपलब्ध है।" #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "यह प्लान उपलब्ध नहीं है। सहायता से संपर्क करें।" @@ -34709,11 +34666,6 @@ msgstr "यह यूज़र अब मौजूद नहीं है। र msgid "This user was force-added to this community by a platform administrator." msgstr "इस यूज़र को एक प्लेटफ़ॉर्म एडमिनिस्ट्रेटर ने ज़बरदस्ती इस कम्युनिटी में जोड़ा था।" -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "यह वेरिफ़िकेशन सेशन एक्सपायर हो गया है। {productName} पर वापस जाएं और चेकआउट फिर से शुरू करें।" - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "{everyoneMention}/{hereMention} और {rolesMention} का उपयोग करें" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod} का उपयोग करें" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "जहाँ अनुवाद करने के लिए टेक्स्ट डालना है, वहाँ {query} का उपयोग करें।" #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod} का उपयोग करें" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "वास्तविक मान का उपयोग करें" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "कोई और तरीका इस्तेमाल करें" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "समय फ़ॉर्मैट के लिए ब्राउज़र का लोकेल इस्तेमाल करें" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "कार्ड का उपयोग करें" @@ -37099,36 +37051,6 @@ msgstr "पुरानी डार्क थीम इस्तेमाल msgid "Use light theme" msgstr "लाइट थीम इस्तेमाल करें" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "स्थानीय कार्ड का उपयोग करें" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "भुगतान वाले BRL चेकआउट से पहले ब्राज़ील में जारी किए गए कार्ड को वेरिफ़ाई करने के लिए स्थानीय कार्ड का उपयोग करें। अगर आप {pixPaymentMethod} या {paymentProviderName} की ओर से अगली स्क्रीन पर दिए गए किसी अन्य भुगतान तरीके को आज़माना चाहते हैं, तो अन्य तरीके चुनें।" - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "भुगतान वाले INR चेकआउट से पहले भारत में जारी किए गए कार्ड को वेरिफ़ाई करने के लिए स्थानीय कार्ड का उपयोग करें। अगर आप {upiPaymentMethod} या {paymentProviderName} की ओर से अगली स्क्रीन पर दिए गए किसी अन्य भुगतान तरीके को आज़माना चाहते हैं, तो अन्य तरीके चुनें।" - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "भुगतान वाले PLN चेकआउट से पहले पोलैंड में जारी किए गए कार्ड को वेरिफ़ाई करने के लिए स्थानीय कार्ड का उपयोग करें। {blikPaymentMethod} {paymentProviderName} चेकआउट में सदस्यता को सपोर्ट नहीं करता, इसलिए तभी जारी रखें जब आप इसके बजाय {paymentProviderName2} की मानक भुगतान स्क्रीन चाहते हों।" - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "भुगतान वाले TRY चेकआउट से पहले Türkiye में जारी किए गए कार्ड को वेरिफ़ाई करने के लिए स्थानीय कार्ड का उपयोग करें। यहाँ कोई ऐप-आधारित स्थानीय सदस्यता तरीका नहीं है, इसलिए जारी रखने पर आप {paymentProviderName} की मानक भुगतान स्क्रीन पर पहुँच जाएंगे।" - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "भुगतान वाले चेकआउट से पहले अपने बिलिंग देश में जारी किए गए कार्ड को वेरिफ़ाई करने के लिए स्थानीय कार्ड का उपयोग करें। {paymentProviderName} की ओर से अगली स्क्रीन पर दिए गए किसी भी अन्य भुगतान तरीके के लिए अन्य तरीके चुनें।" - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "वेरिफ़िकेशन और सदस्यता बाध msgid "Verification barrier" msgstr "वेरिफ़िकेशन बाधा" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "वेरिफ़िकेशन रद्द किया गया" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "वेरिफ़िकेशन ईमेल भेजा गया #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "वेरिफ़िकेशन की समय-सीमा खत्म हो गई है" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "वेरिफ़िकेशन नहीं हो पाया" @@ -37622,11 +37538,6 @@ msgstr "वेरिफ़ाइड कम्युनिटी" msgid "Verify" msgstr "वेरिफ़ाई करें" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "कार्ड वेरिफ़ाई करें" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "कोड वेरिफ़ाई करें" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "फ्रेंड रिक्वेस्ट भेजने से पहले अपना ईमेल वेरिफ़ाई करें।" #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "पहले अपना ईमेल वेरिफ़ाई करें" @@ -37744,10 +37655,6 @@ msgstr "{premiumProductFullName} खरीदने के लिए अपन msgid "Verify your email to start DMs." msgstr "DM शुरू करने के लिए अपना ईमेल वेरिफ़ाई करें।" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "कार्ड वेरिफ़ाई किया जा रहा है" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "कोड वेरिफ़ाई किया जा रहा है…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "विजनरी 2FA नागबार" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "विजनरी में पहले से ही परमानेंट एक्सेस शामिल है, इसलिए बार-बार सदस्यता लेने की ज़रूरत नहीं है। आप अभी भी दूसरों के लिए उपहार खरीद सकते हैं।" @@ -38611,11 +38518,6 @@ msgstr "वेयलैंड का xdg-desktop-portal पिकर को क msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "वेयलैंड का xdg-desktop-portal पिकर को कंट्रोल करता है और हर विंडो और डिस्प्ले को एक साथ दिखाता है। इसे केवल विंडो तक फ़िल्टर करने वाला कोई फ़्लैग नहीं है। \"सिस्टम पिकर खोलें\" दबाएं, फिर प्रति-ऐप ऑडियो पाने के लिए वहां से कोई विंडो चुनें।" -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "हम अभी आपके कार्ड की पुष्टि नहीं कर सके। इस पेज को रीफ़्रेश करें या {productName} पर वापस जाकर फिर से कोशिश करें।" - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "हम उस अकाउंट को हटा नहीं पाए। फिर से कोशिश करें।" #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} सदस्यता मिली है। भुगतान विवरण अपडेट करने या नवीनीकरण की स्थिति जांचने के लिए इसे सुरक्षित बिलिंग पोर्टल में प्रबंधित करें। अगर आपने अभी-अभी भुगतान किया है, तो एक मिनट रुकें और इस पेज को फिर से खोलें।" @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "अब आप एक डेवलपर हैं!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "आप भुगतान पूरा करने के लिए अब {paymentProviderName} पर जा रहे हैं। इसे पूरा करने के बाद {productName} पर वापस आएं।" @@ -39488,7 +39390,7 @@ msgstr "आप इस मोडल को बंद कर सकते है msgid "You can close this tab" msgstr "आप इस टैब को बंद कर सकते हैं" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "अब आप यह टैब बंद करके ऐप पर वापस जा सकते हैं।" @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "डायरेक्ट मैसेज शुरू करने से पहले आपको अपना ईमेल पता वेरिफ़ाई करना होगा।" #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "{premiumProductFullName} खरीदने से पहले आपको अपना ईमेल वेरिफ़ाई करना होगा।" @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "आप पहले से ही इस यूज़र के दोस्त हैं।" #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "आप पहले से ही विजनरी हैं" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "आप पर रेट लिमिट लगी है। दोबारा कोशिश करने से पहले {duration} इंतज़ार करें।" #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "आप अभी उपहार सदस्यता पर हैं। यह अपने-आप रिन्यू नहीं होगी। आप इसे बढ़ाने के लिए और उपहार कोड रिडीम कर सकते हैं। उपहार की अवधि खत्म होने के बाद आप रिकरिंग सदस्यता शुरू कर सकते हैं।" @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "आपने अपने सभी हाल के मेंशन देख लिए हैं। जल्द ही यहां और दिखेंगे।" #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "आपकी {premiumProductFullName} सदस्यता की बिलिंग {storeName} के ज़रिए होती है। अपना प्लान बदलने या नवीनीकरण की स्थिति जांचने के लिए इसे अपने {storeName} अकाउंट में प्रबंधित करें।" @@ -40316,14 +40218,6 @@ msgstr "आपका आवेदन समीक्षा के लिए ल msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "ऑडियो चलाने से पहले आपके ब्राउज़र को यूज़र इंटरैक्शन की ज़रूरत है। वॉइस चैट चालू करने के लिए नीचे दिए गए बटन पर क्लिक करें।" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "स्थानीय मूल्य निर्धारण के लिए आपके कार्ड की जाँच की जा रही है। इसमें आमतौर पर कुछ पल लगते हैं।" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "आपका कार्ड योग्य है। आपको अभी भुगतान पेज पर रीडायरेक्ट किया जा रहा है।" - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "आपकी हाल की खरीदारी अब रिफ़ msgid "Your new nickname, or leave blank to reset it." msgstr "आपका नया उपनाम, या इसे रीसेट करने के लिए खाली छोड़ दें।" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "आपका भुगतान रद्द कर दिया गया है। अब आप इस टैब को बंद करके ऐप पर वापस जा सकते हैं।" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "आपका भुगतान सफल रहा। अब आप इस टैब को बंद करके ऐप पर वापस जा सकते हैं।" diff --git a/fluxer_app/src/features/i18n/locales/hr/messages.po b/fluxer_app/src/features/i18n/locales/hr/messages.po index 36aa137d3..04af826b1 100644 --- a/fluxer_app/src/features/i18n/locales/hr/messages.po +++ b/fluxer_app/src/features/i18n/locales/hr/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# izmjena} few {# izmjene} other {# izmjena msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} sigurno obrađuje plaćanje." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} će prvo provjeriti ispunjava li vaša kartica uvjete za lokalizirane cijene, a zatim će vas preusmjeriti na plaćanje. Vratite se na {productName} nakon što to dovršite." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Sve izravne poruke + zajednice" msgid "All DMs only" msgstr "Samo sve izravne poruke" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Sve gotovo" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Naveden je nevažeći status. Možete zatvoriti ovu karticu i vratiti se u aplikaciju." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Naveden je nevažeći status. Sada možete zatvoriti ovu karticu i vratiti se u aplikaciju." @@ -6739,14 +6734,6 @@ msgstr "Poravnanje kartice" msgid "Card alignment controls" msgstr "Kontrole poravnanja kartice" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Kartica nije prihvatljiva" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Potvrda kartice je otkazana. Možete zatvoriti ovu karticu i vratiti se u aplikaciju." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Naplata" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Naplata je blokirana za ovaj račun." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Naplata je blokirana za ovaj račun. Obratite se {supportEmail} ako trebate pomoć." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Naplata nedostupna" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Odaberite kako će se prikazivati vrijeme u aplikaciji" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Odaberite način plaćanja za ovu pretplatu." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Odaberite jednu od metoda u nastavku kako biste dokazali vlasništvo domene. Trebate dovršiti samo jednu." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Odaberite način plaćanja" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Dovršite provjeru sadržaja za odrasle" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Dovrši plaćanje" @@ -9409,11 +9396,6 @@ msgstr "Kontekstni izbornici mogu se otvoriti lijevim klikom (na gumbe) ili desn msgid "Continue" msgstr "Nastavi" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Nastavi na plaćanje" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Nije moguće otvoriti rezultat pretraživanja" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Nije moguće pokrenuti autorizaciju za {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Nije moguće pokrenuti naplatu" @@ -18574,7 +18556,7 @@ msgstr "Nevažeći redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Nevažeći status" @@ -20067,11 +20049,6 @@ msgstr "Format lokalnog vremena" msgid "Localization" msgstr "Lokalizacija" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Lokalizirana provjera kartice trenutačno nije dostupna. Pokušajte ponovno kasnije." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Ostalo" msgid "Other devices" msgstr "Ostali uređaji" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Ostale metode" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Plati jednom i dobij poveznicu za poklon koju možeš podijeliti. Pokloni se nikada ne obnavljaju." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Plaćajte putem {pixPaymentMethod} Automático kako biste odobrili ponavljajuće naplate izravno iz svoje brazilske banke. Ili odaberite „Koristi karticu” za unos kreditne kartice na sljedećem zaslonu davatelja {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Plaćajte putem {upiPaymentMethod} kako biste postavili e-nalog usklađen s RBI-jem iz svoje indijske banke. Ili odaberite „Koristi karticu” za unos kreditne kartice na sljedećem zaslonu davatelja {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Plaćanje otkazano" @@ -24980,7 +24952,7 @@ msgstr "Plaćanje otkazano" msgid "Payment method" msgstr "Način plaćanja" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Plaćanje uspješno" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Cijene" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Cijene se još učitavaju." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Kupljeni pokloni" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Kupnje su onemogućene za ovaj račun." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Kupnja je onemogućena za ovaj račun. Obratite se na adresu {supportEmail} ako mislite da je došlo do pogreške." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Kupnja nije dostupna" @@ -31635,7 +31607,7 @@ msgstr "Došlo je do pogreške pri učitavanju evidencije aktivnosti." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Nešto je pošlo po zlu prilikom slanja e-pošte za potvrdu. Pokušajte ponovno za nekoliko trenutaka." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Nešto je pošlo po zlu prilikom pokretanja naplate. Pokušajte ponovno za nekoliko trenutaka." @@ -32672,16 +32644,6 @@ msgstr "Ukloni praćenje" msgid "Strip tracking parameters from URLs" msgstr "Ukloni parametre praćenja iz URL-ova" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe nije mogao potvrditi ovu karticu za lokalizirane cijene. Upotrijebite drugu karticu ili se vratite na {productName} i odaberite drugi način plaćanja." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe je prijavio karticu izdanu u {countryName}. Da biste platili u ovoj lokaliziranoj valuti, upotrijebite karticu izdanu u vašoj zemlji naplate ili se vratite na {productName} i odaberite drugi način plaćanja." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Pretplata" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Pretplata već postoji" @@ -34051,11 +34013,6 @@ msgstr "Ovaj je poziv šifriran od kraja do kraja." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Ovo se ne može poništiti. Uklanjanjem aplikacije briše se i njezin bot." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Ova se kartica ne podudara s vašom zemljom naplate, stoga se ne može koristiti za ovu lokaliziranu valutu. Upotrijebite lokalnu karticu ili se vratite na {productName} i odaberite drugi način plaćanja." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Ovaj je birač dostupan samo u aplikaciji za stolna računala." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Ovaj plan nije dostupan. Obratite se podršci." @@ -34709,11 +34666,6 @@ msgstr "Ovaj korisnik više ne postoji. Osvježite i pokušajte ponovno." msgid "This user was force-added to this community by a platform administrator." msgstr "Ovog je korisnika u ovu zajednicu prisilno dodao administrator platforme." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Sesija provjere je istekla. Vratite se u {productName} i ponovno pokrenite naplatu." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Koristi {everyoneMention}/{hereMention} i {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Koristi {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Koristite {query} gdje treba umetnuti tekst za prijevod." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Koristi {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Koristi stvarnu vrijednost" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Koristi drugu metodu" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Koristi regionalne postavke preglednika za format vremena" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Koristi karticu" @@ -37099,36 +37051,6 @@ msgstr "Koristi staru tamnu temu (izvorna neutralna siva paleta)" msgid "Use light theme" msgstr "Koristi svijetlu temu" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Koristi lokalnu karticu" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Upotrijebite lokalnu karticu za provjeru kartice izdane u Brazilu prije plaćanja BRL-om. Odaberite druge metode ako radije želite isprobati {pixPaymentMethod} ili drugi način plaćanja koji {paymentProviderName} nudi na sljedećem zaslonu." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Upotrijebite lokalnu karticu za provjeru kartice izdane u Indiji prije plaćanja u INR-u. Odaberite druge metode ako radije želite isprobati {upiPaymentMethod} ili drugi način plaćanja koji {paymentProviderName} nudi na sljedećem zaslonu." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Upotrijebite lokalnu karticu za provjeru kartice izdane u Poljskoj prije plaćanja u PLN-u. {blikPaymentMethod} ne podržava pretplate pri naplati putem {paymentProviderName}, stoga nastavite samo ako umjesto toga želite standardni zaslon za plaćanje {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Upotrijebite lokalnu karticu za provjeru kartice izdane u Turskoj prije plaćanja u TRY valuti. Ovdje ne postoji lokalna metoda pretplate putem aplikacije, pa će vas nastavak odvesti na standardni zaslon za plaćanje davatelja {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Upotrijebite lokalnu karticu za provjeru kartice izdane u vašoj zemlji naplate prije plaćanja. Odaberite druge metode za bilo koji drugi način plaćanja koji {paymentProviderName} nudi na sljedećem zaslonu." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Provjera i prepreke za članstvo" msgid "Verification barrier" msgstr "Prepreka za provjeru" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Provjera otkazana" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "E-pošta za potvrdu poslana. Provjerite svoju pristiglu poštu." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Provjera je istekla" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Provjera nije uspjela" @@ -37622,11 +37538,6 @@ msgstr "Provjerena zajednica" msgid "Verify" msgstr "Potvrdi" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Potvrdite karticu" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Potvrdi kod" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Potvrdite svoju e-poštu prije slanja zahtjeva za prijateljstvo." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Prvo potvrdite svoju e-poštu" @@ -37744,10 +37655,6 @@ msgstr "Potvrdite svoju e-poštu za kupnju {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Potvrdite svoju e-poštu za početak izravnih poruka." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Provjera kartice" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Provjera koda…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 2FA traka s obavijestima" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary već uključuje trajni pristup, pa ponavljajuća pretplata nije potrebna. I dalje možete kupovati poklone za druge." @@ -38611,11 +38518,6 @@ msgstr "Waylandov xdg-desktop-portal upravlja biračem i prikazuje svaki prozor msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Waylandov xdg-desktop-portal upravlja biračem i prikazuje svaki prozor i zaslon zajedno. Ne postoji zastavica koja ga filtrira samo na prozore. Pritisnite \"Otvori sistemski birač\", zatim ondje odaberite prozor kako biste dobili zvuk pojedine aplikacije." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Trenutačno ne možemo potvrditi vašu karticu. Osvježite ovu stranicu ili se vratite u {productName} i pokušajte ponovno." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Nismo mogli ukloniti taj račun. Pokušajte ponovno." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Sada ste programer!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Sada idete na {paymentProviderName} kako biste dovršili plaćanje. Vratite se na {productName} nakon što ga dovršite." @@ -39488,7 +39390,7 @@ msgstr "Možete zatvoriti ovaj prozor. Uvoz će se nastaviti u pozadini." msgid "You can close this tab" msgstr "Ovu karticu možete zatvoriti" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Sada možete zatvoriti ovu karticu i vratiti se u aplikaciju." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Morate potvrditi svoju adresu e-pošte prije nego što možete započeti izravnu poruku." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Morate potvrditi svoju e-poštu prije nego što možete kupiti {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Već ste prijatelji s ovim korisnikom." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Već ste Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Previše ste puta pokušali. Pričekajte {duration} prije nego što pokušate ponovno." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Trenutno ste na poklon pretplati. Neće se automatski obnoviti. Možete iskoristiti više poklon kodova kako biste je produžili. Pretplate s automatskom obnovom mogu se pokrenuti nakon što istekne vaše poklon razdoblje." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Pregledali ste sva nedavna spominjanja. Uskoro će se ovdje pojaviti nova." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Vaša pretplata {premiumProductFullName} naplaćuje se putem {storeName}. Upravljajte njome na svom {storeName} računu kako biste promijenili plan ili provjerili status obnove." @@ -40316,14 +40218,6 @@ msgstr "Vaša prijava čeka pregled. I dalje možete ažurirati pojedinosti unos msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Vaš preglednik zahtijeva interakciju korisnika prije nego što se zvuk može reproducirati. Kliknite gumb u nastavku da biste omogućili glasovni chat." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Provjeravamo vašu karticu radi lokaliziranih cijena. Ovo obično traje kratko." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Vaša kartica ispunjava uvjete. Preusmjeravamo vas na stranicu za plaćanje." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Vaša najnovija kupnja više nije unutar roka za povrat novca. Obratite msgid "Your new nickname, or leave blank to reset it." msgstr "Vaš novi nadimak ili ostavite prazno za poništavanje." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Vaša je uplata otkazana. Sada možete zatvoriti ovu karticu i vratiti se u aplikaciju." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Plaćanje je uspješno. Sada možete zatvoriti ovu karticu i vratiti se u aplikaciju." diff --git a/fluxer_app/src/features/i18n/locales/hu/messages.po b/fluxer_app/src/features/i18n/locales/hu/messages.po index 785fb5c0d..b2148e8fb 100644 --- a/fluxer_app/src/features/i18n/locales/hu/messages.po +++ b/fluxer_app/src/features/i18n/locales/hu/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# felülbírálás} other {# felülbírál msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "A(z) {PAYMENT_PROVIDER_NAME} biztonságosan kezeli a fizetést." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} először ellenőrzi, hogy a kártyád alkalmas-e a helyi árakra, majd továbbít a fizetéshez. Ha elkészültél, térj vissza a(z) {productName} alkalmazásba." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Összes közvetlen beszélgetés + közösség" msgid "All DMs only" msgstr "Csak közvetlen beszélgetések" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Kész is van" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Érvénytelen állapot érkezett. Bezárhatod ezt a lapot, és visszatérhetsz az alkalmazásba." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Érvénytelen állapot érkezett. Most már bezárhatod ezt a lapot, és visszatérhetsz az alkalmazásba." @@ -6739,14 +6734,6 @@ msgstr "Kártya igazítása" msgid "Card alignment controls" msgstr "A kártya igazításának vezérlői" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "A kártya nem használható" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "A kártyaellenőrzés megszakadt. Bezárhatod ezt a lapot, és visszatérhetsz az alkalmazásba." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Fizetés" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "A fiókod fizetési tranzakciói blokkolva vannak." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Ennél a fióknál le van tiltva a fizetés. Ha segítségre van szükséged, írj erre a címre: {supportEmail}." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "A fizetés nem elérhető" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Válaszd ki, hogyan jelenjenek meg az időpontok az alkalmazásban" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Válaszd ki, hogyan szeretnéd kifizetni ezt az előfizetést." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Válassz az alábbi módszerek közül a domain tulajdonjogának igazolásához. Elég egyet elvégezned." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Fizetési mód kiválasztása" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Felnőtt tartalomhoz szükséges ellenőrzés elvégzése" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Fizetés befejezése" @@ -9409,11 +9396,6 @@ msgstr "A helyi menük bal egérgombbal (gombokon) vagy jobb egérgombbal (egyé msgid "Continue" msgstr "Folytatás" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Tovább a fizetéshez" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,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 grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Nem sikerült elindítani a(z) {blueskyProviderName} engedélyezési folyamatát" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Nem sikerült elindítani a fizetést" @@ -18574,7 +18556,7 @@ msgstr "Érvénytelen redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Érvénytelen állapot" @@ -20067,11 +20049,6 @@ msgstr "Területi beállítás szerinti időformátum" msgid "Localization" msgstr "Lokalizáció" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "A helyi árazáshoz szükséges kártyaellenőrzés jelenleg nem érhető el. Próbáld újra később." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Egyéb" msgid "Other devices" msgstr "Egyéb eszközök" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Egyéb módszerek" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Fizess egyszer, és kapsz egy megosztható ajándék linket. Az ajándékok soha nem újulnak meg." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Fizess a(z) {pixPaymentMethod} Automático használatával, hogy brazil bankodon keresztül engedélyezd az ismétlődő terheléseket. Vagy válaszd a „Kártya használata” lehetőséget, hogy a(z) {paymentProviderName} következő képernyőjén megadd a hitelkártyád adatait." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Fizess a(z) {upiPaymentMethod} használatával, hogy az RBI előírásainak megfelelő elektronikus beszedési felhatalmazást adj indiai bankodon keresztül. Vagy válaszd a „Kártya használata” lehetőséget, hogy a(z) {paymentProviderName} következő képernyőjén megadd a hitelkártyád adatait." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Fizetés megszakítva" @@ -24980,7 +24952,7 @@ msgstr "Fizetés megszakítva" msgid "Payment method" msgstr "Fizetési mód" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Sikeres fizetés" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Árazás" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Az árak még töltődnek." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Megvásárolt ajándékok" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "A vásárlások le vannak tiltva ennél a fióknál." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "A vásárlások le vannak tiltva ehhez a fiókhoz. Ha ez hibásnak tűnik, vedd fel a kapcsolatot a következő címen: {supportEmail}." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Vásárlások nem elérhetők" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Hiba történt a megerősítő e-mail elküldésekor. Próbáld újra egy kis idő múlva." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Hiba történt a fizetés elindításakor. Próbáld újra egy kis idő múlva." @@ -32672,16 +32644,6 @@ msgstr "Nyomkövetés eltávolítása" msgid "Strip tracking parameters from URLs" msgstr "Követési paraméterek eltávolítása az URL-ekből" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "A Stripe nem tudta ellenőrizni ezt a kártyát a helyi árazáshoz. Használj másik kártyát, vagy térj vissza a(z) {productName} alkalmazásba, és válassz másik fizetési módot." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "A Stripe szerint a kártya kibocsátási országa {countryName}. A helyi pénznemben történő fizetéshez használj a számlázási országodban kibocsátott kártyát, vagy térj vissza a(z) {productName} alkalmazásba, és válassz másik fizetési módot." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Előfizetés" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Az előfizetés már létezik" @@ -34051,11 +34013,6 @@ msgstr "Ez a hívás végpontok közötti titkosítással védett." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Ezt nem lehet visszavonni. Az alkalmazás eltávolítása a botját is törli." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Ezt a kártyát nem a számlázási országodban bocsátották ki, ezért nem használható az adott helyi pénznemhez. Használj helyi kártyát, vagy térj vissza a(z) {productName} alkalmazásba, és válassz másik fizetési módot." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Ez a választó csak az asztali alkalmazásban érhető el." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Ez a csomag nem elérhető. Vedd fel a kapcsolatot az ügyfélszolgálattal." @@ -34709,11 +34666,6 @@ msgstr "Ez a felhasználó már nem létezik. Frissítsd az oldalt, és próbál msgid "This user was force-added to this community by a platform administrator." msgstr "Ezt a felhasználót egy platformadminisztrátor közvetlenül hozzáadta a közösséghez." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Ez az ellenőrzési munkamenet lejárt. Térj vissza a(z) {productName} alkalmazásba, és indítsd újra a fizetést." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "{everyoneMention}/{hereMention} és {rolesMention} használata" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod} használata" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "A fordítandó szöveg beillesztési helyén használd a(z) {query} helyőrzőt." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod} használata" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Tényleges érték használata" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Másik fizetési mód használata" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Böngésző területi beállításainak használata az időformátumhoz" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Kártya használata" @@ -37099,36 +37051,6 @@ msgstr "Régi sötét téma használata (eredeti semleges szürke paletta)" msgid "Use light theme" msgstr "Világos téma használata" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Helyi kártya használata" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "A „Helyi kártya használata” lehetőséggel ellenőrizheted a Brazíliában kibocsátott kártyádat a BRL-ben történő fizetés előtt. Válassz más módszert, ha inkább a(z) {pixPaymentMethod} vagy a(z) {paymentProviderName} következő képernyőjén felkínált más fizetési módot használnád." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "A „Helyi kártya használata” lehetőséggel ellenőrizheted az Indiában kibocsátott kártyádat az INR-ben történő fizetés előtt. Válassz más módszert, ha inkább a(z) {upiPaymentMethod} vagy a(z) {paymentProviderName} következő képernyőjén felkínált más fizetési módot használnád." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "A „Helyi kártya használata” lehetőséggel ellenőrizheted a Lengyelországban kibocsátott kártyádat a PLN-ben történő fizetés előtt. A(z) {blikPaymentMethod} nem támogatja az előfizetéseket a(z) {paymentProviderName} fizetési felületén, ezért csak akkor folytasd, ha helyette a(z) {paymentProviderName2} szokásos fizetési képernyőjét szeretnéd használni." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "A „Helyi kártya használata” lehetőséggel ellenőrizheted a Törökországban kibocsátott kártyádat a TRY-ban történő fizetés előtt. Itt nincs helyi alkalmazáson alapuló előfizetési mód, ezért a folytatás a(z) {paymentProviderName} szokásos fizetési képernyőjére visz." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "A „Helyi kártya használata” lehetőséggel ellenőrizheted a számlázási országodban kibocsátott kártyádat a fizetés előtt. A(z) {paymentProviderName} következő képernyőjén kínált többi fizetési módhoz válassz más módszert." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Ellenőrzés és tagsági korlátok" msgid "Verification barrier" msgstr "Ellenőrzési korlát" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Ellenőrzés megszakítva" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Ellenőrző e-mail elküldve. Nézd meg a beérkező üzeneteidet." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Az ellenőrzés lejárt" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Sikertelen ellenőrzés" @@ -37622,11 +37538,6 @@ msgstr "Ellenőrzött közösség" msgid "Verify" msgstr "Ellenőrzés" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Kártya ellenőrzése" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Kód ellenőrzése" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Ismerősjelölések küldése előtt erősítsd meg az e-mail-címedet." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Előbb erősítsd meg az e-mail-címedet" @@ -37744,10 +37655,6 @@ msgstr "A(z) {premiumProductFullName} megvásárlásához erősítsd meg az e-ma msgid "Verify your email to start DMs." msgstr "Közvetlen beszélgetések indításához erősítsd meg az e-mail-címedet." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Kártya ellenőrzése" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Kód ellenőrzése…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 2FA értesítősáv" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "A Visionary már tartalmazza az állandó hozzáférést, így nincs szükség ismétlődő előfizetésre. Továbbra is vásárolhatsz ajándékokat másoknak." @@ -38611,11 +38518,6 @@ msgstr "Waylanden az xdg-desktop-portal kezeli a választóablakot, és együtt msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Waylanden az xdg-desktop-portal kezeli a választóablakot, és együtt jeleníti meg az összes ablakot és kijelzőt. Nincs olyan kapcsoló, amellyel csak az ablakokra lehetne szűrni. Nyomd meg a „Rendszer választóablakának megnyitása” gombot, majd válassz ott egy ablakot az alkalmazásonkénti hanghoz." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Jelenleg nem sikerült ellenőriznünk a kártyádat. Frissítsd az oldalt, vagy térj vissza a(z) {productName} alkalmazásba, és próbáld újra." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Nem sikerült eltávolítani a fiókot. Próbáld újra." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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 "A fiókhoz már tartozik {premiumProductFullName} előfizetés. A biztonságos számlázási portálon módosíthatod a fizetési adatokat és ellenőrizheted a megújítás állapotát. Ha most fizettél, várj egy percet, majd nyisd meg újra ezt az oldalt." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Mostantól fejlesztő vagy!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Most átirányítunk a(z) {paymentProviderName} felületére a fizetés befejezéséhez. Ha végeztél, térj vissza a(z) {productName} alkalmazásba." @@ -39488,7 +39390,7 @@ msgstr "Bezárhatod ezt az ablakot. Az importálás a háttérben folytatódik." msgid "You can close this tab" msgstr "Bezárhatod ezt a lapot" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Most már bezárhatod ezt a lapot, és visszatérhetsz az alkalmazásba." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Közvetlen beszélgetés indítása előtt meg kell erősítened az e-mail-címedet." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Az e-mail-címedet igazolnod kell, mielőtt megvásárolhatnád a(z) {premiumProductFullName} terméket." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Már ismerősök vagytok ezzel a felhasználóval." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Már Visionary vagy" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Túl sok kérést küldtél. Újabb próbálkozásig hátralévő idő: {duration}." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Jelenleg ajándék-előfizetésed van. Ez nem fog megújulni. További ajándékkódokat válthatsz be a meghosszabbításához. Ismétlődő előfizetéseket az ajándékidőszak lejárta után indíthatsz." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Láttad az összes legutóbbi említésedet. Hamarosan újabbak jelennek meg itt." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "A(z) {premiumProductFullName} előfizetésed számlázása a(z) {storeName} szolgáltatáson keresztül történik. A(z) {storeName} fiókodban módosíthatod a csomagodat és ellenőrizheted a megújítás állapotát." @@ -40316,14 +40218,6 @@ msgstr "A jelentkezésed felülvizsgálatra vár. Addig is frissítheted a bejeg msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "A böngésződ felhasználói interakciót igényel a hang lejátszása előtt. Kattints az alábbi gombra a hangcsevegés engedélyezéséhez." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Ellenőrizzük a kártyádat a helyi árazáshoz. Ez általában csak egy pillanat." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "A kártyád megfelel a feltételeknek. Most átirányítunk a fizetési oldalra." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "A legutóbbi vásárlásod már kívül esik a visszatérítési idősza msgid "Your new nickname, or leave blank to reset it." msgstr "Az új beceneved, vagy hagyd üresen az alapértelmezés visszaállításához." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "A fizetés megszakadt. Most már bezárhatod ezt a lapot, és visszatérhetsz az alkalmazásba." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "A fizetés sikeres volt. Most már bezárhatod ezt a lapot, és visszatérhetsz az alkalmazásba." diff --git a/fluxer_app/src/features/i18n/locales/id/messages.po b/fluxer_app/src/features/i18n/locales/id/messages.po index b6b780f0b..5b80d0b34 100644 --- a/fluxer_app/src/features/i18n/locales/id/messages.po +++ b/fluxer_app/src/features/i18n/locales/id/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# penggantian} other {# penggantian}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} menangani pembayaran dengan aman." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} akan memverifikasi dulu bahwa kartumu memenuhi syarat untuk harga lokal, lalu membawamu ke pembayaran. Kembali ke {productName} setelah kamu menyelesaikannya." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Semua DM + komunitas" msgid "All DMs only" msgstr "Hanya semua DM" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Selesai" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Status yang diberikan tidak valid. Kamu bisa menutup tab ini dan kembali ke aplikasi." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Status yang diberikan tidak valid. Sekarang kamu bisa menutup tab ini dan kembali ke aplikasi." @@ -6739,14 +6734,6 @@ msgstr "Perataan kartu" msgid "Card alignment controls" msgstr "Kontrol perataan kartu" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Kartu tidak memenuhi syarat" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Verifikasi kartu dibatalkan. Kamu bisa menutup tab ini dan kembali ke aplikasi." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Checkout" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Pembayaran diblokir untuk akun ini." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Checkout diblokir untuk akun ini. Hubungi {supportEmail} jika kamu butuh bantuan." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Checkout tidak tersedia" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Pilih cara waktu ditampilkan di seluruh aplikasi" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Pilih cara kamu ingin membayar langganan ini." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Pilih salah satu metode di bawah untuk membuktikan kepemilikan domain. Kamu hanya perlu menyelesaikan satu." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Pilih metode pembayaran" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Selesaikan pemeriksaan konten dewasa" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Selesaikan pembayaran" @@ -9409,11 +9396,6 @@ msgstr "Menu konteks dapat dibuka dengan klik kiri (pada tombol) atau klik kanan msgid "Continue" msgstr "Lanjutkan" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Lanjutkan ke pembayaran" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Tidak dapat membuka hasil pencarian" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Tidak dapat memulai otorisasi {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Tidak dapat memulai pembayaran" @@ -18574,7 +18556,7 @@ msgstr "redirect_uri tidak valid" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Status tidak valid" @@ -20067,11 +20049,6 @@ msgstr "Format waktu lokal" msgid "Localization" msgstr "Lokalisasi" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Verifikasi kartu lokal tidak tersedia saat ini. Coba lagi nanti." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Lainnya" msgid "Other devices" msgstr "Perangkat lain" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Metode lain" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Bayar sekali dan dapatkan tautan hadiah untuk dibagikan. Hadiah tidak akan diperpanjang." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Bayar dengan {pixPaymentMethod} Automático untuk mengotorisasi tagihan berulang langsung dari bank Brasil kamu. Atau pilih \"Gunakan kartu\" untuk memasukkan kartu kredit di layar {paymentProviderName} berikutnya." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Bayar dengan {upiPaymentMethod} untuk menyiapkan e-mandate yang sesuai dengan RBI dari bank India kamu. Atau pilih \"Gunakan kartu\" untuk memasukkan kartu kredit di layar {paymentProviderName} berikutnya." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Pembayaran dibatalkan" @@ -24980,7 +24952,7 @@ msgstr "Pembayaran dibatalkan" msgid "Payment method" msgstr "Metode pembayaran" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Pembayaran berhasil" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Harga" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Harga masih dimuat." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Hadiah yang dibeli" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Pembelian dinonaktifkan untuk akun ini." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Pembelian dinonaktifkan untuk akun ini. Hubungi {supportEmail} jika ini salah." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Pembelian tidak tersedia" @@ -31635,7 +31607,7 @@ msgstr "Terjadi kesalahan saat memuat log aktivitas." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Terjadi kesalahan saat mengirim email verifikasimu. Silakan coba lagi sebentar lagi." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Terjadi kesalahan saat memulai pembayaran. Silakan coba lagi sebentar lagi." @@ -32672,16 +32644,6 @@ msgstr "Hapus pelacakan" msgid "Strip tracking parameters from URLs" msgstr "Hapus parameter pelacakan dari URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe tidak dapat memverifikasi kartu ini untuk harga lokal. Gunakan kartu lain, atau kembali ke {productName} dan pilih metode pembayaran lain." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe melaporkan kartu ini diterbitkan di {countryName}. Untuk membayar dalam mata uang lokal ini, gunakan kartu yang diterbitkan di negara penagihanmu, atau kembali ke {productName} dan pilih metode pembayaran lain." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Langganan" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Langganan sudah ada" @@ -34051,11 +34013,6 @@ msgstr "Panggilan ini dienkripsi secara end-to-end." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Tindakan ini tidak dapat dibatalkan. Menghapus aplikasi juga akan menghapus botnya." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Kartu ini tidak cocok dengan negara penagihanmu, jadi tidak dapat digunakan untuk mata uang lokal ini. Gunakan kartu lokal, atau kembali ke {productName} dan pilih metode pembayaran lain." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Pemilih ini hanya tersedia di aplikasi desktop." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Paket ini tidak tersedia. Hubungi dukungan." @@ -34709,11 +34666,6 @@ msgstr "Pengguna ini sudah tidak ada. Segarkan dan coba lagi." msgid "This user was force-added to this community by a platform administrator." msgstr "Pengguna ini ditambahkan secara paksa ke komunitas ini oleh administrator platform." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Sesi verifikasi ini telah kedaluwarsa. Kembali ke {productName} dan mulai pembayaran lagi." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Gunakan {everyoneMention}/{hereMention} dan {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Gunakan {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Gunakan {query} di tempat teks yang akan diterjemahkan disisipkan." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Gunakan {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Gunakan nilai sebenarnya" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Gunakan metode alternatif" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Gunakan lokal browser untuk format waktu" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Gunakan kartu" @@ -37099,36 +37051,6 @@ msgstr "Gunakan tema gelap lama (palet abu-abu netral asli)" msgid "Use light theme" msgstr "Gunakan tema terang" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Gunakan kartu lokal" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Gunakan kartu lokal untuk memverifikasi kartu yang diterbitkan di Brasil sebelum checkout BRL berbayar. Pilih metode lain jika kamu ingin mencoba {pixPaymentMethod} atau metode pembayaran lain yang ditawarkan {paymentProviderName} di layar berikutnya." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Gunakan kartu lokal untuk memverifikasi kartu yang diterbitkan di India sebelum checkout INR berbayar. Pilih metode lain jika kamu ingin mencoba {upiPaymentMethod} atau metode pembayaran lain yang ditawarkan {paymentProviderName} di layar berikutnya." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Gunakan kartu lokal untuk memverifikasi kartu yang diterbitkan di Polandia sebelum checkout PLN berbayar. {blikPaymentMethod} tidak mendukung langganan di checkout {paymentProviderName}, jadi lanjutkan hanya jika kamu ingin memakai layar pembayaran standar {paymentProviderName2} sebagai gantinya." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Gunakan kartu lokal untuk memverifikasi kartu yang diterbitkan di Turki sebelum checkout TRY berbayar. Tidak ada metode langganan lokal berbasis aplikasi di sini, jadi melanjutkan akan membawamu ke layar pembayaran standar {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Gunakan kartu lokal untuk memverifikasi kartu yang diterbitkan di negara penagihanmu sebelum checkout berbayar. Pilih metode lain untuk memakai metode pembayaran lain yang ditawarkan {paymentProviderName} di layar berikutnya." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Pembatas verifikasi & keanggotaan" msgid "Verification barrier" msgstr "Pembatas verifikasi" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verifikasi dibatalkan" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Email verifikasi telah dikirim. Periksa kotak masukmu." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verifikasi kedaluwarsa" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Verifikasi gagal" @@ -37622,11 +37538,6 @@ msgstr "Komunitas terverifikasi" msgid "Verify" msgstr "Verifikasi" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Verifikasi kartu" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Verifikasi kode" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Verifikasi emailmu sebelum mengirim permintaan pertemanan." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verifikasi emailmu terlebih dahulu" @@ -37744,10 +37655,6 @@ msgstr "Verifikasi emailmu untuk membeli {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Verifikasi emailmu untuk memulai DM." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Memverifikasi kartu" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Memverifikasi kode…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Bilah notifikasi 2FA Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary sudah mencakup akses permanen, jadi langganan berulang tidak diperlukan. Kamu masih bisa membeli hadiah untuk orang lain." @@ -38611,11 +38518,6 @@ msgstr "xdg-desktop-portal milik Wayland mengelola pemilih ini dan menampilkan s msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "xdg-desktop-portal milik Wayland mengelola pemilih ini dan menampilkan semua jendela dan layar sekaligus. Tidak ada opsi yang bisa menyaringnya menjadi hanya jendela. Tekan \"Buka pemilih sistem\", lalu pilih jendela di sana untuk mendapatkan audio per aplikasi." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Kami tidak dapat mengonfirmasi kartumu saat ini. Muat ulang halaman ini atau kembali ke {productName} dan coba lagi." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Kami tidak dapat menghapus akun tersebut. Coba lagi." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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 kamu baru saja membayar, tunggu sebentar dan buka kembali halaman ini." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Kamu sekarang seorang pengembang!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Kamu akan diarahkan ke {paymentProviderName} untuk menyelesaikan pembayaran. Kembali ke {productName} setelah selesai." @@ -39488,7 +39390,7 @@ msgstr "Kamu bisa menutup jendela ini. Impor akan berlanjut di latar belakang." msgid "You can close this tab" msgstr "Kamu dapat menutup tab ini" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Kamu bisa menutup tab ini dan kembali ke aplikasi." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Kamu perlu memverifikasi alamat emailmu sebelum bisa memulai pesan langsung." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Kamu perlu memverifikasi emailmu sebelum bisa membeli {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Kamu sudah berteman dengan pengguna ini." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Kamu sudah menjadi Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Permintaanmu sedang dibatasi. Tunggu {duration} sebelum mencoba lagi." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Kamu sedang memakai langganan hadiah. Langganan ini tidak akan diperpanjang otomatis. Kamu bisa menukarkan kode hadiah lain untuk memperpanjangnya. Langganan berulang bisa dimulai setelah masa hadiahmu berakhir." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Kamu sudah melihat semua sebutan terbaru. Sebutan lain akan segera muncul di sini." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Langganan {premiumProductFullName}-mu ditagih melalui {storeName}. Kelola di akun {storeName}-mu untuk mengubah paket atau memeriksa status perpanjangan." @@ -40316,14 +40218,6 @@ msgstr "Pengajuanmu sedang ditinjau. Kamu masih bisa memperbarui detail pendafta msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Browsermu memerlukan interaksi pengguna sebelum audio dapat diputar. Klik tombol di bawah untuk mengaktifkan obrolan suara." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Kartumu sedang diperiksa untuk harga lokal. Ini biasanya hanya sebentar." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Kartumu memenuhi syarat. Kamu akan dialihkan ke halaman pembayaran sekarang." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Pembelian terbarumu tidak lagi berada dalam jangka waktu pengembalian da msgid "Your new nickname, or leave blank to reset it." msgstr "Nama panggilan barumu, atau kosongkan untuk mengatur ulang." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Pembayaranmu dibatalkan. Sekarang kamu bisa menutup tab ini dan kembali ke aplikasi." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Pembayaranmu berhasil. Sekarang kamu bisa menutup tab ini dan kembali ke aplikasi." diff --git a/fluxer_app/src/features/i18n/locales/it/messages.po b/fluxer_app/src/features/i18n/locales/it/messages.po index 69849d76f..b4fdf091d 100644 --- a/fluxer_app/src/features/i18n/locales/it/messages.po +++ b/fluxer_app/src/features/i18n/locales/it/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# modifica} other {# modifiche}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} gestisce i pagamenti in modo sicuro." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} verificherà prima che la tua carta sia idonea ai prezzi locali, poi ti porterà al pagamento. Torna a {productName} dopo averlo completato." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Tutti i DM e tutte le community" msgid "All DMs only" msgstr "Solo tutti i DM" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Fatto" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "È stato fornito uno stato non valido. Puoi chiudere questa scheda e tornare all'app." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "È stato fornito uno stato non valido. Ora puoi chiudere questa scheda e tornare all'app." @@ -6739,14 +6734,6 @@ msgstr "Allineamento del riquadro" msgid "Card alignment controls" msgstr "Controlli di allineamento del riquadro" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Carta non idonea" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "La verifica della carta è stata annullata. Puoi chiudere questa scheda e tornare all'app." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Pagamento" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Il checkout è bloccato per questo account." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "I pagamenti sono bloccati per questo account. Contatta {supportEmail} se hai bisogno di aiuto." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Pagamento non disponibile" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Scegli come visualizzare l'ora nell'app" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Scegli come vuoi pagare l'abbonamento." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Scegli uno dei metodi seguenti per dimostrare la proprietà del dominio. Devi completarne solo uno." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Scegli un metodo di pagamento" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Completa la verifica dei contenuti per adulti" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Completa il pagamento" @@ -9409,11 +9396,6 @@ msgstr "I menu contestuali si aprono con un clic sinistro (sui pulsanti) o destr msgid "Continue" msgstr "Continua" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Continua al pagamento" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Impossibile aprire il risultato della ricerca" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Impossibile avviare l'autorizzazione per {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Impossibile avviare il pagamento" @@ -18574,7 +18556,7 @@ msgstr "redirect_uri non valido" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Stato non valido" @@ -20067,11 +20049,6 @@ msgstr "Formato ora locale" msgid "Localization" msgstr "Localizzazione" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "La verifica della carta per i prezzi locali non è disponibile al momento. Riprova più tardi." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Altro" msgid "Other devices" msgstr "Altri dispositivi" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Altri metodi" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Paga una volta e ottieni un link regalo da condividere. I regali non si rinnovano mai." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Paga con {pixPaymentMethod} Automático per autorizzare addebiti ricorrenti direttamente dalla tua banca brasiliana. Oppure scegli \"Usa carta\" per inserire una carta di credito nella schermata successiva di {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Paga con {upiPaymentMethod} per impostare un mandato elettronico conforme ai requisiti della RBI tramite la tua banca indiana. Oppure scegli \"Usa carta\" per inserire una carta di credito nella schermata successiva di {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Pagamento annullato" @@ -24980,7 +24952,7 @@ msgstr "Pagamento annullato" msgid "Payment method" msgstr "Metodo di pagamento" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Pagamento riuscito" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Prezzi" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Caricamento prezzi in corso." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Regali acquistati" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Gli acquisti sono disabilitati per questo account." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Gli acquisti sono disabilitati per questo account. Contatta {supportEmail} se ritieni che ci sia un errore." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Acquisti non disponibili" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Si è verificato un errore durante l'invio dell'email di verifica. Riprova tra qualche istante." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Si è verificato un errore durante l'avvio del checkout. Riprova tra qualche istante." @@ -32672,16 +32644,6 @@ msgstr "Rimuovi tracciamento" msgid "Strip tracking parameters from URLs" msgstr "Rimuovi i parametri di tracciamento dagli URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe non è riuscito a verificare questa carta per i prezzi localizzati. Usa un'altra carta o torna a {productName} e scegli un altro metodo di pagamento." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe ha segnalato una carta emessa in {countryName}. Per pagare in questa valuta localizzata, utilizza una carta emessa nel tuo paese di fatturazione, oppure torna a {productName} e scegli un altro metodo di pagamento." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Abbonamento" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Abbonamento già esistente" @@ -34051,11 +34013,6 @@ msgstr "Questa chiamata è crittografata end-to-end." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Questa azione non può essere annullata. La rimozione dell'applicazione elimina anche il suo bot." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Questa carta non corrisponde al tuo paese di fatturazione, quindi non può essere utilizzata per questa valuta localizzata. Usa una carta locale o torna a {productName} e scegli un altro metodo di pagamento." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Questo selettore è disponibile solo nell’app desktop." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Questo piano non è disponibile. Contatta l'assistenza." @@ -34709,11 +34666,6 @@ msgstr "Questo utente non esiste più. Aggiorna e riprova." msgid "This user was force-added to this community by a platform administrator." msgstr "Un amministratore della piattaforma ha forzato l’aggiunta di questo utente alla community." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "La sessione di verifica è scaduta. Torna a {productName} e ricomincia la procedura di acquisto." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Usa {everyoneMention}/{hereMention} e {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Usa {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Usa {query} dove deve essere inserito il testo da tradurre." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Usa {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Usa il valore effettivo" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Usa un metodo alternativo" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Usa il formato ora del browser" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Usa la carta" @@ -37099,36 +37051,6 @@ msgstr "Usa il vecchio tema scuro (palette grigia neutra originale)" msgid "Use light theme" msgstr "Usa tema chiaro" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Usa carta locale" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Usa una carta locale per verificare una carta emessa in Brasile prima del checkout BRL a pagamento. Scegli altri metodi se preferisci provare {pixPaymentMethod} o un altro metodo di pagamento offerto da {paymentProviderName} nella schermata successiva." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Usa una carta locale per verificare una carta emessa in India prima del checkout a pagamento in INR. Scegli altri metodi se preferisci provare {upiPaymentMethod} o un altro metodo di pagamento offerto da {paymentProviderName} nella schermata successiva." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Usa una carta locale per verificare una carta emessa in Polonia prima del checkout PLN a pagamento. {blikPaymentMethod} non supporta gli abbonamenti nel checkout di {paymentProviderName}, quindi continua solo se vuoi la schermata di pagamento standard di {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Usa una carta locale per verificare una carta emessa in Turchia prima del checkout a pagamento in TRY. Non è disponibile un metodo di abbonamento locale basato su app, quindi continuando verrai reindirizzato alla schermata di pagamento standard di {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Usa la carta locale per verificare una carta emessa nel tuo paese di fatturazione prima del pagamento. Scegli altri metodi per qualsiasi altro metodo di pagamento che {paymentProviderName} offre nella schermata successiva." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verifica e barriere di accesso" msgid "Verification barrier" msgstr "Blocco verifica" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verifica annullata" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Email di verifica inviata. Controlla la tua casella di posta." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verifica scaduta" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Verifica non riuscita" @@ -37622,11 +37538,6 @@ msgstr "Community verificata" msgid "Verify" msgstr "Verifica" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Verifica carta" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Verifica codice" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Verifica la tua email prima di inviare richieste di amicizia." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verifica prima la tua email" @@ -37744,10 +37655,6 @@ msgstr "Verifica la tua email per acquistare {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Verifica la tua email per avviare DM." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Verifica carta in corso" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Verifica codice…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Banner 2FA Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary include già l'accesso permanente, quindi non è necessario un abbonamento ricorrente. Puoi comunque acquistare regali per altri." @@ -38611,11 +38518,6 @@ msgstr "Il selettore è gestito da xdg-desktop-portal di Wayland e mostra tutte msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Il selettore è gestito da xdg-desktop-portal di Wayland e mostra tutte le finestre e gli schermi insieme. Non esiste un’opzione per filtrare solo le finestre. Premi \"Apri selettore di sistema\", quindi scegli una finestra per acquisire l’audio della singola app." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Non è stato possibile confermare la tua carta in questo momento. Aggiorna questa pagina o torna a {productName} e riprova." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Non è stato possibile rimuovere l'account. Riprova." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Ora sei uno sviluppatore!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Ora verrai reindirizzato a {paymentProviderName} per completare il pagamento. Torna su {productName} una volta terminato." @@ -39488,7 +39390,7 @@ msgstr "Puoi chiudere questa finestra. L'importazione continuerà in background. msgid "You can close this tab" msgstr "Puoi chiudere questa scheda" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Ora puoi chiudere questa scheda e tornare all'app." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Devi verificare il tuo indirizzo email prima di poter avviare un DM." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Devi verificare la tua email prima di poter acquistare {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Siete già amici." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Sei già Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Hai superato il limite di richieste. Attendi {duration} prima di riprovare." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Hai un abbonamento regalo. Non si rinnoverà. Puoi riscattare altri codici regalo per estenderlo. Gli abbonamenti ricorrenti possono essere attivati al termine del periodo regalo." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Hai visto tutte le menzioni recenti. Presto ne appariranno altre qui." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Il tuo abbonamento {premiumProductFullName} è fatturato tramite {storeName}. Gestiscilo dal tuo account {storeName} per cambiare piano o controllare lo stato del rinnovo." @@ -40316,14 +40218,6 @@ msgstr "La tua candidatura è in attesa di valutazione. Puoi comunque aggiornare msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Il tuo browser richiede un'interazione prima di poter riprodurre l'audio. Clicca il pulsante qui sotto per abilitare la chat vocale." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Stiamo verificando la tua carta per i prezzi localizzati. Di solito ci vuole un attimo." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "La tua carta è idonea. Ti stiamo reindirizzando alla pagina di pagamento." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Il tuo acquisto più recente non rientra più nel periodo di rimborso. C msgid "Your new nickname, or leave blank to reset it." msgstr "Il tuo nuovo soprannome; lascia vuoto per reimpostarlo." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Pagamento annullato. Ora puoi chiudere questa scheda e tornare all'app." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Pagamento riuscito. Ora puoi chiudere questa scheda e tornare all'app." diff --git a/fluxer_app/src/features/i18n/locales/ja/messages.po b/fluxer_app/src/features/i18n/locales/ja/messages.po index e3b7bc038..ff67adc6b 100644 --- a/fluxer_app/src/features/i18n/locales/ja/messages.po +++ b/fluxer_app/src/features/i18n/locales/ja/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {#件のオーバーライド} other {#件 msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME}が安全に支払いを処理します。" -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName}で、まずお使いのカードが地域別価格の対象であるかを確認します。その後、お支払い手続きに進みます。完了したら{productName}に戻ってください。" - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "すべてのDM + コミュニティ" msgid "All DMs only" msgstr "すべてのDMのみ" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "完了" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "無効なステータスが指定されました。このタブを閉じてアプリに戻ることができます。" #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "無効なステータスが指定されました。このタブを閉じてアプリに戻ることができます。" @@ -6739,14 +6734,6 @@ msgstr "カードの配置" msgid "Card alignment controls" msgstr "カードの配置設定" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "カードが対象外です" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "カードの認証がキャンセルされました。このタブを閉じてアプリに戻ることができます。" - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "購入手続き" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "このアカウントのチェックアウトはブロックされています。" #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "このアカウントでは購入手続きがブロックされています。サポートが必要な場合は、{supportEmail}までお問い合わせください。" #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "購入手続きを利用できません" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "アプリ全体での時刻表示形式を選択" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "このサブスクリプションのお支払い方法を選択してください。" @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "以下のいずれかの方法でドメインの所有権を証明してください。1つ完了すれば十分です。" #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "支払い方法を選択" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "成人向けコンテンツの確認を完了する" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "支払いを完了" @@ -9409,11 +9396,6 @@ msgstr "左クリック(ボタン上)または右クリック(その他の msgid "Continue" msgstr "続行" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "購入手続きへ" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "検索結果を開けませんでした" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "{blueskyProviderName}の認証を開始できませんでした" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "チェックアウトを開始できませんでした" @@ -18574,7 +18556,7 @@ msgstr "redirect_uriが無効です" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "無効なステータス" @@ -20067,11 +20049,6 @@ msgstr "時刻表示形式" msgid "Localization" msgstr "言語と地域" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "現在、カードの地域認証をご利用いただけません。後でもう一度お試しください。" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "その他" msgid "Other devices" msgstr "その他のデバイス" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "その他の方法" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "一度支払うだけで、共有用のギフトリンクが発行されます。ギフトは自動更新されません。" #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "{pixPaymentMethod} Automáticoで支払うと、ブラジルの銀行口座から定期的な支払いを直接承認できます。クレジットカードを使う場合は「カードを使う」を選択すると、{paymentProviderName}の次の画面で入力できます。" #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "{upiPaymentMethod}で支払うと、インドの銀行でRBI準拠のe-mandateを設定できます。クレジットカードを使う場合は「カードを使う」を選択すると、{paymentProviderName}の次の画面で入力できます。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "支払いがキャンセルされました" @@ -24980,7 +24952,7 @@ msgstr "支払いがキャンセルされました" msgid "Payment method" msgstr "支払い方法" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "支払いが完了しました" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "料金" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "料金を読み込み中です。" @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "購入済みギフト" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "このアカウントでは購入が無効になっています。" #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "このアカウントでは購入が無効になっています。問題があると思われる場合は、{supportEmail}までお問い合わせください。" #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "購入できません" @@ -31635,7 +31607,7 @@ msgstr "アクティビティログの読み込み中に問題が発生しまし #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "確認メールの送信中に問題が発生しました。しばらくしてからもう一度お試しください。" #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "チェックアウトの開始中に問題が発生しました。しばらくしてからもう一度お試しください。" @@ -32672,16 +32644,6 @@ msgstr "トラッキングを削除" msgid "Strip tracking parameters from URLs" msgstr "URLからトラッキングパラメーターを削除" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripeがこのカードを地域別価格の対象として確認できませんでした。別のカードを使用するか、{productName}に戻って別の支払い方法を選択してください。" - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripeによると、このカードは{countryName}で発行されています。この現地通貨で支払うには、請求先住所の国で発行されたカードを使用するか、{productName}に戻って別の支払い方法を選択してください。" - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "サブスクリプション" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "すでにサブスクリプションをご利用中です" @@ -34051,11 +34013,6 @@ msgstr "この通話はエンドツーエンドで暗号化されています。 msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "この操作は元に戻せません。アプリを削除すると、そのボットも削除されます。" -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "このカードは請求先住所の国と一致しないため、この現地通貨では使用できません。現地のカードを使用するか、{productName}に戻って別の支払い方法を選択してください。" - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "このピッカーはデスクトップ版アプリでのみ利用できます。" #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "このプランはご利用いただけません。サポートにお問い合わせください。" @@ -34709,11 +34666,6 @@ msgstr "このユーザーは存在しません。画面を更新してもう一 msgid "This user was force-added to this community by a platform administrator." msgstr "このユーザーはプラットフォーム管理者によってコミュニティに強制追加されました。" -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "認証セッションの有効期限が切れました。{productName}に戻り、もう一度チェックアウトを開始してください。" - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "{everyoneMention}/{hereMention}と{rolesMention}を使用する" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod}を使う" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "翻訳するテキストを挿入する場所に「{query}」を使用してください。" #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod}を使う" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "実際の値を使用" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "別の方法を使う" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "時刻形式にブラウザのロケールを使用" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "カードを使う" @@ -37099,36 +37051,6 @@ msgstr "旧ダークテーマを使用(元のニュートラルグレーのパ msgid "Use light theme" msgstr "ライトテーマを使用" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "現地のカードを使う" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "有料のBRL決済の前にブラジルで発行されたカードを確認するには、現地のカードを使用してください。{pixPaymentMethod}や、次の画面で{paymentProviderName}が提供する別の支払い方法を試したい場合は、「その他の方法」を選択してください。" - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "有料のINR決済の前にインドで発行されたカードを確認するには、現地のカードを使用してください。{upiPaymentMethod}や、次の画面で{paymentProviderName}が提供する別の支払い方法を試したい場合は、「その他の方法」を選択してください。" - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "有料のPLN決済の前にポーランドで発行されたカードを確認するには、現地のカードを使用してください。{blikPaymentMethod}は{paymentProviderName}の決済でサブスクリプションに対応していないため、{paymentProviderName2}の標準決済画面をご希望の場合のみ続行してください。" - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "有料のTRY決済の前にトルコで発行されたカードを確認するには、現地のカードを使用してください。アプリで完結する現地のサブスクリプション方法はないため、続行すると{paymentProviderName}の標準決済画面に移動します。" - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "有料決済の前に請求先住所の国で発行されたカードを確認するには、現地のカードを使用してください。次の画面で{paymentProviderName}が提供する他の支払い方法を利用する場合は、「その他の方法」を選択してください。" - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "認証とメンバーシップの制限" msgid "Verification barrier" msgstr "認証バリア" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "認証がキャンセルされました" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "確認メールを送信しました。受信トレイをご確認くだ #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "認証の有効期限が切れました" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "認証に失敗しました" @@ -37622,11 +37538,6 @@ msgstr "認証済みコミュニティ" msgid "Verify" msgstr "認証" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "カードを認証" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "コードを確認" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "友達リクエストを送信する前にメールアドレスを確認してください。" #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "まずメールアドレスを確認してください" @@ -37744,10 +37655,6 @@ msgstr "{premiumProductFullName}をご購入いただくには、メールアド msgid "Verify your email to start DMs." msgstr "DMを開始するにはメールアドレスを確認してください。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "カードを確認中" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "コードを確認中…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 2FA ナグバー" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionaryには永続的なアクセス権がすでに含まれているため、定期的なサブスクリプションは不要です。他のユーザーへのギフトは引き続き購入できます。" @@ -38611,11 +38518,6 @@ msgstr "Waylandのxdg-desktop-portalがピッカーを所有しており、す msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Waylandのxdg-desktop-portalがピッカーを所有し、すべてのウィンドウとディスプレイをまとめて表示します。ウィンドウのみにフィルタリングするフラグはありません。「システムピッカーを開く」を押し、そこでウィンドウを選択すると、アプリごとのオーディオを取得できます。" -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "現在、カード情報を確認できません。このページを更新するか、{productName}に戻ってやり直してください。" - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "アカウントを削除できませんでした。もう一度お試しください。" #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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分ほど待ってからこのページを再度開いてください。" @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "開発者になりました!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "お支払いを完了するために{paymentProviderName}に移動します。完了したら{productName}に戻ってください。" @@ -39488,7 +39390,7 @@ msgstr "この画面を閉じても、バックグラウンドでインポート msgid "You can close this tab" msgstr "このタブは閉じても構いません" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "このタブを閉じてアプリに戻ることができます。" @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "ダイレクトメッセージを開始する前に、メールアドレスの確認が必要です。" #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "{premiumProductFullName}を購入する前に、メールアドレスの確認が必要です。" @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "このユーザーとはすでに友達です。" #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "すでにVisionaryです" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "リクエストが多すぎます。{duration}待ってからもう一度お試しください。" #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "現在、ギフトサブスクリプションをご利用中です。自動更新はされません。ギフトコードを追加して期間を延長できます。ギフト期間終了後、定期購入を開始できます。" @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "最近のメンションはすべて確認済みです。新しいメンションはここに表示されます。" #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "{premiumProductFullName}サブスクリプションは{storeName}経由で請求されています。プランの変更や更新状況の確認は、{storeName}のアカウントで行ってください。" @@ -40316,14 +40218,6 @@ msgstr "現在、申請内容を審査中です。引き続き掲載内容を更 msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "お使いのブラウザでは、音声の再生にユーザー操作が必要です。音声チャットを有効にするには、下のボタンをクリックしてください。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "お使いのカードで地域別価格を確認しています。通常、これには少し時間がかかります。" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "カードが有効です。支払いページに移動します。" - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "最新のご購入は返金期間を過ぎています。請求に関す msgid "Your new nickname, or leave blank to reset it." msgstr "新しいニックネーム。空白のままにするとリセットされます。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "支払いがキャンセルされました。このタブを閉じてアプリに戻ることができます。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "支払いが完了しました。このタブを閉じてアプリに戻ることができます。" diff --git a/fluxer_app/src/features/i18n/locales/ko/messages.po b/fluxer_app/src/features/i18n/locales/ko/messages.po index 6d9e3e863..a759c4201 100644 --- a/fluxer_app/src/features/i18n/locales/ko/messages.po +++ b/fluxer_app/src/features/i18n/locales/ko/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {#개 재정의} other {#개 재정의}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME}에서 안전하게 결제합니다." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName}에서 먼저 현지 가격 책정에 카드 사용이 가능한지 확인한 다음 결제를 진행합니다. 완료되면 {productName}(으)로 돌아와 주세요." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "모든 DM 및 커뮤니티" msgid "All DMs only" msgstr "모든 DM만" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "완료" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "잘못된 상태 값이 전달되었습니다. 이 탭을 닫고 앱으로 돌아가세요." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "잘못된 상태 값이 전달되었습니다. 이제 이 탭을 닫고 앱으로 돌아가세요." @@ -6739,14 +6734,6 @@ msgstr "카드 정렬" msgid "Card alignment controls" msgstr "카드 정렬 컨트롤" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "사용할 수 없는 카드입니다" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "카드 인증이 취소되었습니다. 이 탭을 닫고 앱으로 돌아가세요." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "결제" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "이 계정의 결제가 차단되었습니다." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "이 계정은 결제가 차단되었습니다. 도움이 필요하시면 {supportEmail}으로 문의하세요." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "결제 이용 불가" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "앱 전반에 걸쳐 시간이 표시되는 방식을 선택하세요" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "구독 결제 방법을 선택해 주세요." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "도메인 소유권을 증명할 방법을 선택하세요. 한 가지만 완료하면 됩니다." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "결제 수단 선택" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "성인 콘텐츠 확인 완료하기" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "결제 완료하기" @@ -9409,11 +9396,6 @@ msgstr "좌클릭(버튼) 또는 우클릭(다른 요소)으로 상황별 메뉴 msgid "Continue" msgstr "계속" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "결제 계속하기" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "검색 결과를 열 수 없습니다" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "{blueskyProviderName} 승인을 시작할 수 없습니다" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "결제를 시작할 수 없습니다" @@ -18574,7 +18556,7 @@ msgstr "잘못된 redirect_uri입니다" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "잘못된 상태" @@ -20067,11 +20049,6 @@ msgstr "시간 형식" msgid "Localization" msgstr "언어 및 지역" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "현재 현지 카드 인증을 사용할 수 없습니다. 나중에 다시 시도해 주세요." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "기타" msgid "Other devices" msgstr "다른 기기" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "다른 결제 수단" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "한 번 결제하고 공유할 선물 링크를 받으세요. 선물은 자동 갱신되지 않습니다." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "브라질 은행에서 직접 정기 결제를 승인하려면 {pixPaymentMethod} Automático로 결제하세요. 또는 \"카드 사용\"을 선택하여 {paymentProviderName}의 다음 화면에서 신용 카드를 입력하세요." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "인도 은행에서 RBI 규정을 준수하는 전자 자동이체를 설정하려면 {upiPaymentMethod}(으)로 결제하세요. 또는 \"카드 사용\"을 선택하여 {paymentProviderName}의 다음 화면에서 신용 카드를 입력하세요." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "결제 취소됨" @@ -24980,7 +24952,7 @@ msgstr "결제 취소됨" msgid "Payment method" msgstr "결제 수단" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "결제 완료" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "가격" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "가격 정보를 불러오는 중입니다." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "구매한 선물" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "이 계정에서는 구매가 비활성화되어 있습니다." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "이 계정에서는 구매할 수 없습니다. 문제가 있다고 생각하시면 {supportEmail}(으)로 문의해 주세요." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "구매 불가" @@ -31635,7 +31607,7 @@ msgstr "활동 로그를 로드하는 동안 문제가 발생했습니다." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "인증 이메일을 보내는 중 문제가 발생했습니다. 잠시 후 다시 시도해 주세요." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "결제를 시작하는 중에 문제가 발생했습니다. 잠시 후 다시 시도해 주세요." @@ -32672,16 +32644,6 @@ msgstr "추적 방지" msgid "Strip tracking parameters from URLs" msgstr "URL에서 추적 매개변수 제거" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe에서 현지 통화 가격 적용을 위해 이 카드를 확인하지 못했습니다. 다른 카드를 사용하거나 {productName}(으)로 돌아가 다른 결제 수단을 선택하세요." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe에 따르면 이 카드는 {countryName}에서 발급되었습니다. 이 현지 통화로 결제하려면 청구 국가에서 발급된 카드를 사용하거나 {productName}(으)로 돌아가 다른 결제 수단을 선택하세요." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "구독" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "이미 구독 중입니다" @@ -34051,11 +34013,6 @@ msgstr "이 통화는 종단 간 암호화됩니다." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "이 작업은 되돌릴 수 없습니다. 앱을 삭제하면 봇도 함께 삭제됩니다." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "이 카드는 청구 국가와 일치하지 않아 해당 지역 통화에 사용할 수 없습니다. 현지 카드를 사용하거나 {productName}으로 돌아가 다른 결제 방법을 선택하세요." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "이 선택 도구는 데스크톱 앱에서만 사용할 수 있습니다." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "이용할 수 없는 플랜입니다. 고객지원팀에 문의하세요." @@ -34709,11 +34666,6 @@ msgstr "이 사용자는 더 이상 존재하지 않습니다. 새로고침 후 msgid "This user was force-added to this community by a platform administrator." msgstr "이 사용자는 플랫폼 관리자에 의해 이 커뮤니티에 강제로 추가되었습니다." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "인증 세션이 만료되었습니다. {productName}으로 돌아가서 다시 결제를 시작해 주세요." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "{everyoneMention}/{hereMention} 및 {rolesMention} 사용" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod} 사용" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "번역할 텍스트를 삽입할 위치에 {query}를 사용하세요." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod} 사용" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "실제 값 사용" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "다른 방법 사용" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "시간 형식에 브라우저 로캘 사용" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "카드 사용" @@ -37099,36 +37051,6 @@ msgstr "기존 다크 테마 사용 (원래의 중립 회색 팔레트)" msgid "Use light theme" msgstr "라이트 테마 사용" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "현지 카드 사용" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "유료 BRL 결제 전에 브라질에서 발급된 카드를 인증하려면 현지 카드 사용을 선택하세요. 다음 화면에서 {pixPaymentMethod} 또는 {paymentProviderName}에서 제공하는 다른 결제 수단을 이용하려면 다른 방법을 선택하세요." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "유료 INR 결제 전에 인도에서 발급된 카드를 인증하려면 현지 카드 사용을 선택하세요. 다음 화면에서 {upiPaymentMethod} 또는 {paymentProviderName}에서 제공하는 다른 결제 수단을 이용하려면 다른 방법을 선택하세요." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "유료 PLN 결제 전에 폴란드에서 발급된 카드를 인증하려면 현지 카드 사용을 선택하세요. {blikPaymentMethod}은(는) {paymentProviderName} 결제에서 구독을 지원하지 않으므로, 대신 {paymentProviderName2}의 표준 결제 화면을 사용하려는 경우에만 계속하세요." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "유료 TRY 결제 전에 튀르키예에서 발급된 카드를 인증하려면 현지 카드 사용을 선택하세요. 앱 기반의 현지 구독 방법은 제공되지 않으므로, 계속하면 {paymentProviderName}의 표준 결제 화면으로 이동합니다." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "유료 결제 전에 결제 국가에서 발급된 카드를 인증하려면 현지 카드 사용을 선택하세요. 다음 화면에서 {paymentProviderName}이(가) 제공하는 다른 결제 수단을 이용하려면 다른 방법을 선택하세요." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "인증 및 멤버십 장벽" msgid "Verification barrier" msgstr "인증 장벽" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "인증 취소됨" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "인증 이메일을 보냈습니다. 받은편지함을 확인해 주세 #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "인증 만료" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "인증 실패" @@ -37622,11 +37538,6 @@ msgstr "인증된 커뮤니티" msgid "Verify" msgstr "인증하기" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "카드 확인" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "코드 확인" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "친구 요청을 보내려면 먼저 이메일을 인증하세요." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "먼저 이메일을 인증하세요" @@ -37744,10 +37655,6 @@ msgstr "{premiumProductFullName}을(를) 구매하려면 이메일을 인증하 msgid "Verify your email to start DMs." msgstr "DM을 시작하려면 이메일을 인증하세요." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "카드 확인 중" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "코드 확인 중…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 2단계 인증 알림 표시줄" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary에는 이미 영구 이용 권한이 포함되어 있어 반복 구독이 필요하지 않습니다. 다른 사람에게 줄 선물은 계속 구매할 수 있습니다." @@ -38611,11 +38518,6 @@ msgstr "Wayland에서는 xdg-desktop-portal이 선택기를 제어하기 때문 msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Wayland에서는 xdg-desktop-portal이 선택기를 제어하기 때문에 모든 창과 디스플레이가 함께 표시됩니다. 창만 걸러내는 플래그는 없습니다. \"시스템 선택기 열기\"를 누른 다음 거기서 창을 선택하면 앱별 오디오를 가져올 수 있습니다." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "지금은 카드 정보를 확인할 수 없습니다. 이 페이지를 새로고침하거나 {productName}(으)로 돌아가서 다시 시도해 주세요." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "계정을 삭제할 수 없습니다. 다시 시도해 주세요." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} 구독이 있습니다. 결제 정보를 업데이트하거나 갱신 상태를 확인하려면 보안 결제 포털에서 관리하세요. 방금 결제했다면 잠시 기다렸다가 이 페이지를 다시 여세요." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "이제 개발자입니다!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "결제를 완료하려면 {paymentProviderName}(으)로 이동합니다. 결제 완료 후 {productName}(으)로 돌아와 주세요." @@ -39488,7 +39390,7 @@ msgstr "이 창을 닫아도 가져오기는 백그라운드에서 계속됩니 msgid "You can close this tab" msgstr "이 탭을 닫을 수 있습니다" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "이제 이 탭을 닫고 앱으로 돌아가셔도 됩니다." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "DM을 시작하려면 먼저 이메일 주소를 인증해야 합니다." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "{premiumProductFullName}을(를) 구매하려면 먼저 이메일을 인증해야 합니다." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "이미 친구인 사용자입니다." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "이미 Visionary이시네요" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "속도 제한에 걸렸습니다. {duration} 후에 다시 시도해 주세요." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "현재 선물 구독 중입니다. 이 구독은 갱신되지 않습니다. 선물 코드를 추가로 사용하여 구독 기간을 연장할 수 있습니다. 선물 구독 기간이 종료된 후에는 정기 구독을 시작할 수 있습니다." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "모든 멘션을 확인했습니다. 새로운 멘션이 생기면 여기에 표시됩니다." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "{premiumProductFullName} 구독은 {storeName}에서 청구됩니다. 플랜을 변경하거나 갱신 상태를 확인하려면 {storeName} 계정에서 관리하세요." @@ -40316,14 +40218,6 @@ msgstr "신청이 검토 대기 중입니다. 등록 정보를 업데이트하 msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "오디오를 재생하려면 브라우저에서 사용자 작업이 필요합니다. 음성 채팅을 활성화하려면 아래 버튼을 클릭하세요." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "카드 정보를 확인하여 현지 가격을 적용하고 있습니다. 잠시만 기다려 주세요." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "카드 사용이 가능합니다. 지금 결제 페이지로 이동합니다." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "가장 최근 구매는 환불 가능 기간이 지났습니다. 결제 msgid "Your new nickname, or leave blank to reset it." msgstr "새로운 닉네임입니다. 비워두면 초기화됩니다." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "결제가 취소되었습니다. 이 탭을 닫고 앱으로 돌아가셔도 좋습니다." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "결제가 완료되었습니다. 이 탭을 닫고 앱으로 돌아가세요." diff --git a/fluxer_app/src/features/i18n/locales/lt/messages.po b/fluxer_app/src/features/i18n/locales/lt/messages.po index 80e015a74..b0ec56262 100644 --- a/fluxer_app/src/features/i18n/locales/lt/messages.po +++ b/fluxer_app/src/features/i18n/locales/lt/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# pakeitimas} few {# pakeitimai} other {# p msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} saugiai apdoroja mokėjimus." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} pirmiausia patikrins, ar jūsų kortelė tinka vietinei kainodarai, tada nukreips jus į mokėjimą. Grįžkite į {productName}, kai baigsite." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Visi DM + bendruomenės" msgid "All DMs only" msgstr "Tik visi DM" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Atlikta" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Pateikta netinkama būsena. Galite uždaryti šį skirtuką ir grįžti į programėlę." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Pateikta netinkama būsena. Dabar galite uždaryti šį skirtuką ir grįžti į programėlę." @@ -6739,14 +6734,6 @@ msgstr "Kortelės lygiavimas" msgid "Card alignment controls" msgstr "Kortelės lygiavimo valdikliai" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Kortelė netinkama" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Kortelės patvirtinimas atšauktas. Galite uždaryti šį skirtuką ir grįžti į programėlę." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Atsiskaitymas" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Apmokėjimas šiai paskyrai užblokuotas." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Šiai paskyrai atsiskaitymas yra užblokuotas. Jei reikia pagalbos, susisiekite su {supportEmail}." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Atsiskaitymas negalimas" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Pasirinkite, kaip laikas rodomas programėlėje" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Pasirinkite, kaip norėtumėte apmokėti šią prenumeratą." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Pasirinkite vieną iš toliau nurodytų būdų, kad įrodytumėte domeno nuosavybę. Jums reikia užbaigti tik vieną." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Pasirinkite mokėjimo būdą" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Užbaigti brandaus turinio patikrą" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Užbaigti mokėjimą" @@ -9409,11 +9396,6 @@ msgstr "Kontekstiniai meniu atidaromi kairiuoju pelės mygtuku (ant mygtukų) ar msgid "Continue" msgstr "Tęsti" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Tęsti atsiskaitymą" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Nepavyko atidaryti paieškos rezultato" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Nepavyko pradėti „{blueskyProviderName}“ autorizavimo" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Nepavyko pradėti atsiskaitymo" @@ -18575,7 +18557,7 @@ msgstr "Neteisingas „redirect_uri“" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Neteisinga būsena" @@ -20068,11 +20050,6 @@ msgstr "Vietinis laiko formatas" msgid "Localization" msgstr "Lokalizacija" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Lokalizuotas kortelės patvirtinimas šiuo metu nepasiekiamas. Bandykite dar kartą vėliau." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24564,11 +24541,6 @@ msgstr "Kita" msgid "Other devices" msgstr "Kiti įrenginiai" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Kiti būdai" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24963,16 +24935,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Mokėkite vieną kartą ir gaukite dovanos nuorodą pasidalinti. Dovanos niekada nepratęsiamos." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Mokėkite naudodami „{pixPaymentMethod} Automático“, kad leistumėte pasikartojančius mokėjimus tiesiai iš savo Brazilijos banko. Arba pasirinkite „Naudoti kortelę“, kad kitame „{paymentProviderName}“ ekrane įvestumėte kredito kortelės duomenis." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Mokėkite naudodami „{upiPaymentMethod}“, kad nustatytumėte RBI reikalavimus atitinkantį elektroninį mokėjimo įgaliojimą iš savo Indijos banko. Arba pasirinkite „Naudoti kortelę“, kad kitame „{paymentProviderName}“ ekrane įvestumėte kredito kortelės duomenis." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Mokėjimas atšauktas" @@ -24981,7 +24953,7 @@ msgstr "Mokėjimas atšauktas" msgid "Payment method" msgstr "Mokėjimo būdas" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Mokėjimas sėkmingas" @@ -25867,7 +25839,7 @@ msgid "Pricing" msgstr "Kainodara" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Kainos vis dar įkeliamos." @@ -26264,17 +26236,17 @@ msgid "Purchased gifts" msgstr "Įsigytos dovanos" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Pirkimai šiai paskyrai išjungti." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Pirkimai šiai paskyrai išjungti. Jei tai atrodo neteisinga, susisiekite su {supportEmail}." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Pirkimai negalimi" @@ -31636,7 +31608,7 @@ msgstr "Nepavyko įkelti veiklos žurnalo." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31676,7 +31648,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Nepavyko išsiųsti patvirtinimo el. laiško. Bandykite dar kartą po akimirkos." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Nepavyko pradėti atsiskaitymo. Bandykite dar kartą po akimirkos." @@ -32673,16 +32645,6 @@ msgstr "Šalinti sekimą" msgid "Strip tracking parameters from URLs" msgstr "Pašalinti sekimo parametrus iš URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "„Stripe“ negalėjo patvirtinti šios kortelės, kad būtų galima atsiskaityti pagal vietos kainas. Naudokite kitą kortelę arba grįžkite į {productName} ir pasirinkite kitą mokėjimo būdą." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "„Stripe“ pranešė apie kortelę, išduotą šalyje {countryName}. Kad galėtumėte mokėti šia vietine valiuta, naudokite kortelę, išduotą jūsų atsiskaitymo šalyje, arba grįžkite į {productName} ir pasirinkite kitą mokėjimo būdą." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32729,7 +32691,7 @@ msgid "Subscription" msgstr "Prenumerata" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Prenumerata jau yra" @@ -34052,11 +34014,6 @@ msgstr "Šis skambutis yra užšifruotas nuo galo iki galo." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "To negalima anuliuoti. Pašalinus programą, taip pat ištrinamas ir jos botas." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Ši kortelė neatitinka jūsų atsiskaitymo šalies, todėl negali būti naudojama šia lokalizuota valiuta. Naudokite vietinę kortelę arba grįžkite į {productName} ir pasirinkite kitą mokėjimo būdą." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34574,7 +34531,7 @@ msgid "This picker is only available in the desktop app." msgstr "Šis parinkiklis pasiekiamas tik darbalaukio programoje." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Šis planas nepasiekiamas. Susisiekite su palaikymo komanda." @@ -34710,11 +34667,6 @@ msgstr "Šis naudotojas nebeegzistuoja. Atnaujinkite ir bandykite dar kartą." msgid "This user was force-added to this community by a platform administrator." msgstr "Šį naudotoją į šią bendruomenę priverstinai pridėjo platformos administratorius." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Šis patvirtinimo seansas baigėsi. Grįžkite į „{productName}“ ir pradėkite atsiskaitymą iš naujo." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36928,7 +36880,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Naudoti {everyoneMention}/{hereMention} ir {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Naudoti {pixPaymentMethod}" @@ -36943,7 +36895,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Naudokite „{query}“ ten, kur turėtų būti įterptas verčiamas tekstas." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Naudoti {upiPaymentMethod}" @@ -36972,7 +36924,7 @@ msgid "Use actual value" msgstr "Naudoti tikrąją reikšmę" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Naudoti kitą būdą" @@ -37003,7 +36955,7 @@ msgid "Use browser locale for time format" msgstr "Naudoti naršyklės lokalę laiko formatui" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Naudoti kortelę" @@ -37100,36 +37052,6 @@ msgstr "Naudoti senąją tamsiąją temą (pradinė neutrali pilka paletė)" msgid "Use light theme" msgstr "Naudoti šviesiąją temą" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Naudoti vietinę kortelę" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Norėdami patvirtinti Brazilijoje išduotą kortelę prieš mokamą BRL atsiskaitymą, naudokite vietinę kortelę. Pasirinkite kitą būdą, jei norite išbandyti {pixPaymentMethod} ar kitą mokėjimo būdą, kurį {paymentProviderName} siūlo kitame ekrane." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Norėdami patvirtinti Indijoje išduotą kortelę prieš mokamą atsiskaitymą INR, naudokite vietinę kortelę. Pasirinkite kitą būdą, jei norite išbandyti {upiPaymentMethod} ar kitą mokėjimo būdą, kurį {paymentProviderName} siūlo kitame ekrane." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Norėdami patvirtinti Lenkijoje išduotą kortelę prieš mokamą PLN atsiskaitymą, naudokite vietinę kortelę. „{blikPaymentMethod}“ nepalaiko prenumeratų „{paymentProviderName}“ atsiskaitymo metu, todėl tęskite tik tuo atveju, jei norite naudoti „{paymentProviderName2}“ standartinį mokėjimo ekraną." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Norėdami patvirtinti Turkijoje išduotą kortelę prieš mokamą TRY atsiskaitymą, naudokite vietinę kortelę. Čia nėra programėlėje veikiančio vietinio prenumeratos būdo, todėl tęsdami būsite nukreipti į {paymentProviderName} standartinį mokėjimo ekraną." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Naudokite vietinę kortelę, kad prieš mokamą atsiskaitymą patvirtintumėte jūsų atsiskaitymo šalyje išduotą kortelę. Pasirinkite kitą būdą, jei norite bet kurio kito mokėjimo būdo, kurį {paymentProviderName} siūlo kitame ekrane." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37577,10 +37499,6 @@ msgstr "Patvirtinimo ir narystės apribojimai" msgid "Verification barrier" msgstr "Patvirtinimo barjeras" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Patvirtinimas atšauktas" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37598,13 +37516,11 @@ msgstr "Patvirtinimo el. laiškas išsiųstas. Patikrinkite gautuosius." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Patvirtinimo laikas baigėsi" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Patvirtinimas nepavyko" @@ -37623,11 +37539,6 @@ msgstr "Patvirtinta bendruomenė" msgid "Verify" msgstr "Patvirtinti" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Patvirtinti kortelę" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Patvirtinti kodą" @@ -37706,7 +37617,7 @@ msgid "Verify your email before sending friend requests." msgstr "Prieš siųsdami draugystės užklausas, patvirtinkite savo el. pašto adresą." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Pirmiausia patvirtinkite savo el. paštą" @@ -37745,10 +37656,6 @@ msgstr "Patvirtinkite savo el. pašto adresą, kad įsigytumėte {premiumProduct msgid "Verify your email to start DMs." msgstr "Patvirtinkite el. paštą, kad galėtumėte pradėti tiesioginius pokalbius." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Kortelės tikrinimas" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Tikrinamas kodas…" @@ -38190,7 +38097,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 2FA pranešimų juosta" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "„Visionary“ jau apima nuolatinę prieigą, todėl pasikartojanti prenumerata nereikalinga. Vis tiek galite pirkti dovanų kitiems." @@ -38612,11 +38519,6 @@ msgstr "„Wayland“ xdg-desktop-portal valdo parinkiklį ir rodo visus langus msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "„Wayland“ xdg-desktop-portal valdo parinkiklį ir rodo visus langus bei ekranus kartu. Nėra parinkties, kuri filtruotų tik langus. Paspauskite „Atidaryti sistemos parinkiklį“ ir ten pasirinkite langą, kad gautumėte atskiros programos garsą." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Šiuo metu negalime patvirtinti jūsų kortelės. Atnaujinkite šį puslapį arba grįžkite į „{productName}“ ir bandykite dar kartą." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38692,7 +38594,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Nepavyko pašalinti paskyros. Bandykite dar kartą." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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į." @@ -39429,7 +39331,7 @@ msgid "You are now a developer!" msgstr "Dabar esate kūrėjas!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Dabar būsite nukreipti į {paymentProviderName}, kad užbaigtumėte mokėjimą. Kai tai padarysite, grįžkite į {productName}." @@ -39489,7 +39391,7 @@ msgstr "Galite uždaryti šį langą. Importavimas tęsis fone." msgid "You can close this tab" msgstr "Galite uždaryti šį skirtuką" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Dabar galite uždaryti šį skirtuką ir grįžti į programėlę." @@ -39944,7 +39846,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Prieš pradėdami tiesioginį pokalbį turite patvirtinti savo el. pašto adresą." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Prieš pirkdami „{premiumProductFullName}“ turite patvirtinti el. pašto adresą." @@ -40026,7 +39928,7 @@ msgid "You're already friends with this user." msgstr "Jūs jau draugaujate su šiuo naudotoju." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Jau esate Visionary" @@ -40066,7 +39968,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Jums taikomas užklausų ribojimas. Palaukite {duration} prieš bandydami dar kartą." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Šiuo metu naudojatės dovanų prenumerata. Ji nebus atnaujinta. Galite išpirkti daugiau dovanų kodų, kad ją pratęstumėte. Pasibaigus dovanų prenumeratos laikotarpiui, galėsite pradėti pasikartojančias prenumeratas." @@ -40249,7 +40151,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Peržiūrėjote visus naujausius paminėjimus. Netrukus čia atsiras daugiau." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Jūsų {premiumProductFullName} prenumerata apmokestinama per {storeName}. Tvarkykite ją savo {storeName} paskyroje, kad pakeistumėte planą arba patikrintumėte atnaujinimo būseną." @@ -40317,14 +40219,6 @@ msgstr "Jūsų paraiška laukia peržiūros. Vis dar galite atnaujinti savo įra msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Jūsų naršyklė reikalauja naudotojo veiksmo, kad būtų galima paleisti garsą. Spustelėkite žemiau esantį mygtuką, kad įjungtumėte balso pokalbį." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Tikrinama, ar jūsų kortelei taikoma vietinė kainodara. Tai paprastai užtrunka akimirką." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Jūsų kortelė tinkama. Dabar būsite nukreipti į mokėjimo puslapį." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40503,11 +40397,11 @@ msgstr "Jūsų naujausias pirkinys nebeatitinka pinigų grąžinimo termino. Dė msgid "Your new nickname, or leave blank to reset it." msgstr "Jūsų naujas slapyvardis arba palikite tuščią, kad jį atstatytumėte." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Jūsų mokėjimas atšauktas. Dabar galite uždaryti šį skirtuką ir grįžti į programėlę." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Mokėjimas sėkmingas. Dabar galite uždaryti šį skirtuką ir grįžti į programėlę." diff --git a/fluxer_app/src/features/i18n/locales/nl/messages.po b/fluxer_app/src/features/i18n/locales/nl/messages.po index 0e2dd101f..e6c44067d 100644 --- a/fluxer_app/src/features/i18n/locales/nl/messages.po +++ b/fluxer_app/src/features/i18n/locales/nl/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# aangepaste waarde} other {# aangepaste wa msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} verwerkt betalingen veilig." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} zal eerst controleren of je kaart in aanmerking komt voor lokale prijzen, en je daarna doorsturen naar de betaling. Keer terug naar {productName} zodra je dit hebt voltooid." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Alle DM's + communities" msgid "All DMs only" msgstr "Alleen alle DM's" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Klaar" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Er is een ongeldige status opgegeven. Je kunt dit tabblad sluiten en teruggaan naar de app." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Er is een ongeldige status opgegeven. Je kunt dit tabblad nu sluiten en teruggaan naar de app." @@ -6739,14 +6734,6 @@ msgstr "Uitlijning kaart" msgid "Card alignment controls" msgstr "Uitlijningsopties kaart" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Kaart komt niet in aanmerking" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Kaartverificatie is geannuleerd. Je kunt dit tabblad sluiten en teruggaan naar de app." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Afrekenen" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "De betaling is geblokkeerd voor dit account." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Afrekenen is geblokkeerd voor dit account. Neem contact op met {supportEmail} als je hulp nodig hebt." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Afrekenen niet beschikbaar" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Kies hoe tijden worden weergegeven in de app" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Kies hoe je voor dit abonnement wilt betalen." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Kies een van de onderstaande methoden om domeineigendom te bewijzen. Je hoeft er maar één te voltooien." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Kies betaalmethode" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Controle voor inhoud voor volwassenen voltooien" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Betaling afronden" @@ -9409,11 +9396,6 @@ msgstr "Contextmenu's kunnen worden geopend met een linkermuisklik (op knoppen) msgid "Continue" msgstr "Doorgaan" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Verder naar afrekenen" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Zoekresultaat kon niet worden geopend" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Autorisatie van {blueskyProviderName} kon niet worden gestart" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Afrekenen kon niet worden gestart" @@ -18574,7 +18556,7 @@ msgstr "Ongeldige redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Ongeldige status" @@ -20067,11 +20049,6 @@ msgstr "Tijdnotatie" msgid "Localization" msgstr "Taal en regio" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Kaartverificatie voor regionale prijzen is momenteel niet beschikbaar. Probeer het later opnieuw." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Overig" msgid "Other devices" msgstr "Andere apparaten" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Andere methodes" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Betaal eenmalig en ontvang een cadeaulink om te delen. Geschenken worden nooit verlengd." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Betaal met {pixPaymentMethod} Automático om toestemming te geven voor terugkerende betalingen rechtstreeks via je Braziliaanse bank. Of kies \"Kaart gebruiken\" om op het volgende scherm van {paymentProviderName} een creditcard in te voeren." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Betaal met {upiPaymentMethod} om via je Indiase bank een elektronische machtiging in te stellen die aan de RBI-voorschriften voldoet. Of kies \"Kaart gebruiken\" om op het volgende scherm van {paymentProviderName} een creditcard in te voeren." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Betaling geannuleerd" @@ -24980,7 +24952,7 @@ msgstr "Betaling geannuleerd" msgid "Payment method" msgstr "Betaalmethode" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Betaling gelukt" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Prijzen" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Prijzen worden nog geladen." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Gekochte cadeaus" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Aankopen zijn uitgeschakeld voor dit account." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Aankopen zijn uitgeschakeld voor dit account. Neem contact op met {supportEmail} als dit onjuist lijkt." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Aankopen niet beschikbaar" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Er is iets misgegaan bij het verzenden van je verificatie-e-mail. Probeer het over een ogenblik opnieuw." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Er is iets misgegaan bij het starten van de betaling. Probeer het over een ogenblik opnieuw." @@ -32672,16 +32644,6 @@ msgstr "Tracking verwijderen" msgid "Strip tracking parameters from URLs" msgstr "Trackingparameters uit URL's verwijderen" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe kon deze kaart niet verifiëren voor regionale prijzen. Gebruik een andere kaart, of ga terug naar {productName} en kies een andere betaalmethode." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Volgens Stripe is deze kaart uitgegeven in {countryName}. Gebruik een kaart die is uitgegeven in je factureringsland om in deze lokale valuta te betalen, of ga terug naar {productName} en kies een andere betaalmethode." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Abonnement" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Abonnement bestaat al" @@ -34051,11 +34013,6 @@ msgstr "Dit gesprek is end-to-end versleuteld." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Dit kan niet ongedaan worden gemaakt. Als je de app verwijdert, wordt ook de bijbehorende bot verwijderd." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Deze kaart is niet uitgegeven in je factureringsland en kan daarom niet voor deze lokale valuta worden gebruikt. Gebruik een lokale kaart, of ga terug naar {productName} en kies een andere betaalmethode." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Deze kiezer is alleen beschikbaar in de computerapp." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Dit abonnement is niet beschikbaar. Neem contact op met de ondersteuning." @@ -34709,11 +34666,6 @@ msgstr "Deze gebruiker bestaat niet meer. Vernieuw en probeer het opnieuw." msgid "This user was force-added to this community by a platform administrator." msgstr "Deze gebruiker is door een platformbeheerder geforceerd toegevoegd aan deze community." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Deze verificatiesessie is verlopen. Ga terug naar {productName} en start het afrekenen opnieuw." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Gebruik {everyoneMention}/{hereMention} en {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Gebruik {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Gebruik {query} op de plek waar de te vertalen tekst moet worden ingevoegd." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod} gebruiken" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Werkelijke waarde gebruiken" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Andere methode gebruiken" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Tijdnotatie van browser gebruiken" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Kaart gebruiken" @@ -37099,36 +37051,6 @@ msgstr "Oud donker thema gebruiken (origineel neutraal grijs palet)" msgid "Use light theme" msgstr "Licht thema gebruiken" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Lokale kaart gebruiken" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Kies \"Lokale kaart gebruiken\" om een in Brazilië uitgegeven kaart te verifiëren voordat je afrekent in BRL. Kies andere methoden als je liever {pixPaymentMethod} of een andere betaalmethode gebruikt die {paymentProviderName} op het volgende scherm aanbiedt." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Kies \"Lokale kaart gebruiken\" om een in India uitgegeven kaart te verifiëren voordat je afrekent in INR. Kies andere methoden als je liever {upiPaymentMethod} of een andere betaalmethode gebruikt die {paymentProviderName} op het volgende scherm aanbiedt." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Kies \"Lokale kaart gebruiken\" om een in Polen uitgegeven kaart te verifiëren voordat je afrekent in PLN. {blikPaymentMethod} ondersteunt geen abonnementen op de betaalpagina van {paymentProviderName}. Ga alleen verder als je het standaardbetaalscherm van {paymentProviderName2} wilt gebruiken." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Kies \"Lokale kaart gebruiken\" om een in Turkije uitgegeven kaart te verifiëren voordat je afrekent in TRY. Er is hier geen lokale betaalmethode voor abonnementen via een app. Als je doorgaat, kom je op het standaardbetaalscherm van {paymentProviderName} terecht." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Kies \"Lokale kaart gebruiken\" om een kaart uit je factureringsland te verifiëren voordat je afrekent. Kies andere methoden voor de overige betaalmethoden die {paymentProviderName} op het volgende scherm aanbiedt." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verificatie en lidmaatschapsbarrières" msgid "Verification barrier" msgstr "Verificatiebarrière" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verificatie geannuleerd" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Verificatie-e-mail verzonden. Controleer je inbox." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verificatie verlopen" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Verificatie mislukt" @@ -37622,11 +37538,6 @@ msgstr "Geverifieerde community" msgid "Verify" msgstr "Verifiëren" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Kaart verifiëren" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Code verifiëren" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Verifieer je e-mailadres voordat je vriendschapsverzoeken verstuurt." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verifieer eerst je e-mailadres" @@ -37744,10 +37655,6 @@ msgstr "Verifieer je e-mailadres om {premiumProductFullName} te kopen." msgid "Verify your email to start DMs." msgstr "Verifieer je e-mailadres om DM's te starten." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Kaart verifiëren" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Code verifiëren…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Meldingsbalk voor Visionary-2FA" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary bevat al permanente toegang, dus een terugkerend abonnement is niet nodig. Je kunt nog steeds cadeaus kopen voor anderen." @@ -38611,11 +38518,6 @@ msgstr "Het xdg-desktop-portal van Wayland beheert de kiezer en toont alle venst msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Het xdg-desktop-portal van Wayland beheert de kiezer en toont alle vensters en schermen samen. Er is geen optie om alleen vensters te tonen. Druk op \"Systeemkiezer openen\" en kies daar een venster om audio per app op te nemen." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "We konden je kaart nu niet bevestigen. Vernieuw deze pagina of ga terug naar {productName} en probeer het opnieuw." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "We konden dat account niet verwijderen. Probeer het opnieuw." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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 het beveiligde factureringsportaal om je betaalgegevens bij te werken of de verlengingsstatus te controleren. Als je net hebt betaald, wacht dan een minuut en open deze pagina opnieuw." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Je bent nu een ontwikkelaar!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Je gaat nu naar {paymentProviderName} om de betaling te voltooien. Keer terug naar {productName} zodra je dit hebt gedaan." @@ -39488,7 +39390,7 @@ msgstr "Je kunt dit venster sluiten. Het importeren gaat op de achtergrond verde msgid "You can close this tab" msgstr "Je kunt dit tabblad sluiten" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Je kunt dit tabblad nu sluiten en teruggaan naar de app." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Je moet je e-mailadres verifiëren voordat je een DM kunt starten." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Je moet je e-mailadres verifiëren voordat je {premiumProductFullName} kunt kopen." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Je bent al vrienden met deze gebruiker." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Je bent al Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Je hebt de snelheidslimiet bereikt. Wacht {duration} voordat je het opnieuw probeert." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Je hebt momenteel een cadeau-abonnement. Dit wordt niet automatisch verlengd. Je kunt meer cadeaucodes inwisselen om het te verlengen. Je kunt een doorlopend abonnement afsluiten nadat je cadeauperiode is afgelopen." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Je hebt al je recente vermeldingen gezien. Binnenkort verschijnen hier meer." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Je {premiumProductFullName}-abonnement wordt gefactureerd via {storeName}. Beheer het in je {storeName}-account om je abonnement te wijzigen of de verlengingsstatus te controleren." @@ -40316,14 +40218,6 @@ msgstr "Je aanvraag wacht op beoordeling. Je kunt de gegevens van je vermelding msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Je browser vereist interactie voordat audio kan worden afgespeeld. Klik op de knop hieronder om spraakchat in te schakelen." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Je kaart wordt gecontroleerd voor lokale prijzen. Dit duurt meestal even." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Je kaart is geschikt. Je wordt nu doorgestuurd naar de betaalpagina." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "De termijn voor een terugbetaling van je meest recente aankoop is verstr msgid "Your new nickname, or leave blank to reset it." msgstr "Je nieuwe bijnaam, of laat leeg om deze te resetten." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Je betaling is geannuleerd. Je kunt dit tabblad nu sluiten en teruggaan naar de app." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Je betaling is gelukt. Je kunt dit tabblad nu sluiten en teruggaan naar de app." diff --git a/fluxer_app/src/features/i18n/locales/no/messages.po b/fluxer_app/src/features/i18n/locales/no/messages.po index 02a40145f..3ce51764b 100644 --- a/fluxer_app/src/features/i18n/locales/no/messages.po +++ b/fluxer_app/src/features/i18n/locales/no/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# overstyring} other {# overstyringer}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} håndterer betaling sikkert." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} sjekker først at kortet ditt oppfyller kravene for lokale priser, og tar deg deretter til betalingen. Gå tilbake til {productName} når du har fullført den." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Alle direktemeldingssamtaler + fellesskap" msgid "All DMs only" msgstr "Bare alle direktemeldingssamtaler" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Ferdig" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Ugyldig status ble oppgitt. Du kan lukke denne fanen og gå tilbake til appen." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Ugyldig status ble oppgitt. Du kan nå lukke denne fanen og gå tilbake til appen." @@ -6739,14 +6734,6 @@ msgstr "Kortplassering" msgid "Card alignment controls" msgstr "Kontroller for kortplassering" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Kortet oppfyller ikke kravene" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Kortverifisering ble avbrutt. Du kan lukke denne fanen og gå tilbake til appen." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Betaling" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Betaling er blokkert for denne kontoen." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Betaling er blokkert for denne kontoen. Kontakt {supportEmail} hvis du trenger hjelp." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Betaling er utilgjengelig" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Velg hvordan klokkeslett vises i appen" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Velg hvordan du vil betale for dette abonnementet." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Velg én av metodene nedenfor for å bekrefte domeneeierskap. Du trenger bare å fullføre én." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Velg betalingsmåte" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Fullfør kontroll for vokseninnhold" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Fullfør betaling" @@ -9409,11 +9396,6 @@ msgstr "Du kan åpne kontekstmenyer med venstreklikk (på knapper) eller høyrek msgid "Continue" msgstr "Fortsett" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Fortsett til kassen" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Kunne ikke åpne søkeresultatet" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Kunne ikke starte autorisering for {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Kunne ikke starte betaling" @@ -18574,7 +18556,7 @@ msgstr "Ugyldig redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Ugyldig status" @@ -20067,11 +20049,6 @@ msgstr "Tidsformat for språk og region" msgid "Localization" msgstr "Lokalisering" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Kortverifisering for lokal prissetting er ikke tilgjengelig akkurat nå. Prøv igjen senere." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Annet" msgid "Other devices" msgstr "Andre enheter" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Andre metoder" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Betal én gang og få en gavekobling å dele. Gaver fornyes aldri." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Betal med {pixPaymentMethod} Automático for å godkjenne gjentakende betalinger direkte fra den brasilianske banken din. Eller velg «Bruk kort» for å legge inn et kredittkort på neste skjerm hos {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Betal med {upiPaymentMethod} for å opprette et e-mandat fra den indiske banken din som oppfyller RBIs krav. Eller velg «Bruk kort» for å legge inn et kredittkort på neste skjerm hos {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Betaling avbrutt" @@ -24980,7 +24952,7 @@ msgstr "Betaling avbrutt" msgid "Payment method" msgstr "Betalingsmåte" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Betaling fullført" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Priser" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Priser lastes fortsatt inn." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Kjøpte gaver" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Kjøp er deaktivert for denne kontoen." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Kjøp er deaktivert for denne kontoen. Kontakt {supportEmail} hvis dette ser feil ut." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Kjøp er ikke tilgjengelig" @@ -31635,7 +31607,7 @@ msgstr "Noe gikk galt under lasting av aktivitetsloggen." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Noe gikk galt under sending av bekreftelses-e-posten din. Prøv igjen om et øyeblikk." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Noe gikk galt da betalingsprosessen skulle startes. Prøv igjen om et øyeblikk." @@ -32672,16 +32644,6 @@ msgstr "Fjern sporing" msgid "Strip tracking parameters from URLs" msgstr "Fjern sporingsparametere fra URL-er" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe kunne ikke bekrefte dette kortet for lokale priser. Bruk et annet kort, eller gå tilbake til {productName} og velg en annen betalingsmåte." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe oppga at kortet er utstedt i {countryName}. For å betale i denne lokale valutaen må du bruke et kort utstedt i faktureringslandet ditt, eller gå tilbake til {productName} og velge en annen betalingsmåte." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Abonnement" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Abonnementet finnes allerede" @@ -34051,11 +34013,6 @@ msgstr "Denne samtalen er ende-til-ende-kryptert." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Dette kan ikke angres. Hvis du fjerner appen, slettes også boten." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Dette kortet samsvarer ikke med faktureringslandet ditt, så det kan ikke brukes for denne lokale valutaen. Bruk et lokalt kort, eller gå tilbake til {productName} og velg en annen betalingsmåte." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Denne velgeren er bare tilgjengelig i skrivebordsappen." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Dette abonnementet er ikke tilgjengelig. Kontakt kundestøtte." @@ -34709,11 +34666,6 @@ msgstr "Denne brukeren finnes ikke lenger. Oppdater og prøv igjen." msgid "This user was force-added to this community by a platform administrator." msgstr "Denne brukeren ble lagt til med tvang i dette fellesskapet av en plattformadministrator." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Denne bekreftelsesøkten utløp. Gå tilbake til {productName} og start betalingen på nytt." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Bruk {everyoneMention}/{hereMention} og {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Bruk {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Bruk {query} der teksten som skal oversettes, skal settes inn." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Bruk {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Bruk faktisk verdi" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Bruk alternativ metode" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Bruk nettleserens regionale innstillinger for tidsformat" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Bruk kort" @@ -37099,36 +37051,6 @@ msgstr "Bruk eldre mørkt tema (opprinnelig nøytral grå palett)" msgid "Use light theme" msgstr "Bruk lyst tema" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Bruk lokalt kort" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Bruk lokalt kort for å bekrefte et kort utstedt i Brasil før betalingen i BRL. Velg andre metoder hvis du heller vil prøve {pixPaymentMethod} eller en annen betalingsmetode som {paymentProviderName} tilbyr på neste skjerm." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Bruk lokalt kort for å bekrefte et kort utstedt i India før selve betalingen i INR. Velg andre metoder hvis du heller vil prøve {upiPaymentMethod} eller en annen betalingsmetode som {paymentProviderName} tilbyr på neste skjerm." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Bruk lokalt kort for å bekrefte et kort utstedt i Polen før selve betalingen i PLN. {blikPaymentMethod} støtter ikke abonnementer i betalingen hos {paymentProviderName}, så fortsett bare hvis du vil bruke den vanlige betalingsskjermen til {paymentProviderName2} i stedet." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Bruk lokalt kort for å bekrefte et kort utstedt i Tyrkia før selve betalingen i TRY. Her finnes ingen appbasert lokal abonnementsmetode, så hvis du fortsetter, kommer du til den vanlige betalingsskjermen til {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Bruk lokalt kort for å bekrefte et kort utstedt i faktureringslandet ditt før selve betalingen. Velg andre metoder for å bruke en annen betalingsmetode som {paymentProviderName} tilbyr på neste skjerm." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verifiserings- og medlemskapsbarrierer" msgid "Verification barrier" msgstr "Verifiseringsbarriere" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Bekreftelsen ble avbrutt" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "E-post for bekreftelse er sendt. Sjekk innboksen din." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Bekreftelsen er utløpt" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Bekreftelsen mislyktes" @@ -37622,11 +37538,6 @@ msgstr "Verifisert fellesskap" msgid "Verify" msgstr "Bekreft" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Bekreft kort" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Bekreft kode" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Bekreft e-postadressen din før du sender venneforespørsler." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Bekreft e-postadressen din først" @@ -37744,10 +37655,6 @@ msgstr "Bekreft e-postadressen din for å kjøpe {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Bekreft e-postadressen din for å starte direktemeldingssamtaler." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Bekrefter kortet" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Bekrefter koden …" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Varsellinje for Visionary-2FA" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary inkluderer allerede permanent tilgang, så et gjentakende abonnement er ikke nødvendig. Du kan fortsatt kjøpe gaver til andre." @@ -38611,11 +38518,6 @@ msgstr "Waylands xdg-desktop-portal styrer velgeren og viser alle vinduer og skj msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Waylands xdg-desktop-portal styrer velgeren og viser alle vinduer og skjermer sammen. Det finnes ikke noe flagg som bare viser vinduer. Trykk på «Åpne systemvelger», og velg et vindu der for å få lyd per app." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Vi kunne ikke bekrefte kortet ditt akkurat nå. Oppdater denne siden eller gå tilbake til {productName} og prøv igjen." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Vi kunne ikke fjerne den kontoen. Prøv igjen." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Du er nå en utvikler!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Du sendes nå videre til {paymentProviderName} for å fullføre betalingen. Gå tilbake til {productName} når du er ferdig." @@ -39488,7 +39390,7 @@ msgstr "Du kan lukke dette vinduet. Importen fortsetter i bakgrunnen." msgid "You can close this tab" msgstr "Du kan lukke denne fanen" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Du kan nå lukke denne fanen og gå tilbake til appen." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Du må bekrefte e-postadressen din før du kan starte en direktemelding." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Du må bekrefte e-postadressen din før du kan kjøpe {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Du er allerede venn med denne brukeren." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Du er allerede Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Du har sendt for mange forespørsler. Vent {duration} før du prøver igjen." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Du har et gaveabonnement. Det fornyes ikke. Du kan løse inn flere gavekoder for å forlenge det. Gjentakende abonnementer kan startes etter at gaveperioden din er over." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Du har sett alle nylige omtaler. Flere vises her snart." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "{premiumProductFullName}-abonnementet ditt faktureres via {storeName}. Administrer det i {storeName}-kontoen din for å bytte abonnement eller sjekke fornyelsesstatus." @@ -40316,14 +40218,6 @@ msgstr "Søknaden din venter på gjennomgang. Du kan fortsatt oppdatere oppføri msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Nettleseren din krever brukerinteraksjon før lyd kan spilles av. Klikk på knappen nedenfor for å aktivere talechat." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Kortet ditt sjekkes for lokale priser. Dette tar vanligvis et øyeblikk." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Kortet ditt oppfyller kravene. Du blir nå sendt videre til betalingssiden." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Det siste kjøpet ditt er ikke lenger innenfor refusjonsperioden. Kontak msgid "Your new nickname, or leave blank to reset it." msgstr "Det nye kallenavnet ditt, eller la det stå tomt for å tilbakestille det." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Betalingen din ble avbrutt. Du kan nå lukke denne fanen og gå tilbake til appen." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Betalingen din var vellykket. Du kan nå lukke denne fanen og gå tilbake til appen." diff --git a/fluxer_app/src/features/i18n/locales/pl/messages.po b/fluxer_app/src/features/i18n/locales/pl/messages.po index 13b633e36..0a1171865 100644 --- a/fluxer_app/src/features/i18n/locales/pl/messages.po +++ b/fluxer_app/src/features/i18n/locales/pl/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# niestandardowa wartość} few {# niestand msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} bezpiecznie obsługuje płatności." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} najpierw sprawdzi, czy Twoja karta kwalifikuje się do lokalnych cen, a następnie przekieruje Cię do płatności. Wróć do {productName} po zakończeniu transakcji." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Wszystkie rozmowy prywatne + społeczności" msgid "All DMs only" msgstr "Tylko wszystkie rozmowy prywatne" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Gotowe" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Podano nieprawidłowy status. Możesz zamknąć tę kartę i wrócić do aplikacji." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Podano nieprawidłowy status. Możesz teraz zamknąć tę kartę i wrócić do aplikacji." @@ -6739,14 +6734,6 @@ msgstr "Wyrównanie karty" msgid "Card alignment controls" msgstr "Sterowanie wyrównaniem karty" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Karta nie spełnia wymagań" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Weryfikacja karty została anulowana. Możesz zamknąć tę kartę i wrócić do aplikacji." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Płatność" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Płatność jest zablokowana dla tego konta." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Realizacja zakupu jest zablokowana dla tego konta. Skontaktuj się z {supportEmail}, jeśli potrzebujesz pomocy." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Płatność niedostępna" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Wybierz sposób wyświetlania godzin w aplikacji" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Wybierz, jak chcesz zapłacić za tę subskrypcję." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Wybierz jedną z poniższych metod, aby potwierdzić własność domeny. Wystarczy skorzystać z jednej z nich." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Wybierz metodę płatności" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Ukończ weryfikację treści dla dorosłych" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Dokończ płatność" @@ -9409,11 +9396,6 @@ msgstr "Menu kontekstowe można otworzyć lewym przyciskiem myszy (na przyciskac msgid "Continue" msgstr "Dalej" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Przejdź do płatności" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Nie udało się otworzyć wyniku wyszukiwania" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Nie udało się rozpocząć autoryzacji {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Nie udało się rozpocząć płatności" @@ -18574,7 +18556,7 @@ msgstr "Nieprawidłowy parametr redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Nieprawidłowy status" @@ -20067,11 +20049,6 @@ msgstr "Format czasu (ustawienia regionalne)" msgid "Localization" msgstr "Lokalizacja" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Lokalna weryfikacja karty jest teraz niedostępna. Spróbuj ponownie później." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Inne" msgid "Other devices" msgstr "Inne urządzenia" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Inne metody" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Zapłać raz i otrzymaj link do udostępnienia. Prezenty nigdy się nie odnawiają." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Zapłać za pomocą {pixPaymentMethod} Automático, aby zezwolić na cykliczne obciążanie rachunku w brazylijskim banku. Możesz też wybrać „Użyj karty”, aby wpisać dane karty kredytowej na następnym ekranie {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Zapłać za pomocą {upiPaymentMethod}, aby ustanowić w indyjskim banku elektroniczną zgodę na obciążenia zgodną z wymogami RBI. Możesz też wybrać „Użyj karty”, aby wpisać dane karty kredytowej na następnym ekranie {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Płatność anulowana" @@ -24980,7 +24952,7 @@ msgstr "Płatność anulowana" msgid "Payment method" msgstr "Metoda płatności" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Płatność udana" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Cennik" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Ceny wciąż się ładują." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Kupione prezenty" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Zakupy są wyłączone dla tego konta." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Zakupy są wyłączone dla tego konta. Skontaktuj się z {supportEmail}, jeśli to błąd." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Zakupy niedostępne" @@ -31635,7 +31607,7 @@ msgstr "Podczas ładowania dziennika aktywności wystąpił problem." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Coś poszło nie tak podczas wysyłania e-maila weryfikacyjnego. Spróbuj ponownie za chwilę." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Coś poszło nie tak podczas rozpoczynania płatności. Spróbuj ponownie za chwilę." @@ -32672,16 +32644,6 @@ msgstr "Usuń śledzenie" msgid "Strip tracking parameters from URLs" msgstr "Usuwaj parametry śledzenia z adresów URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe nie mógł zweryfikować tej karty dla lokalnych cen. Użyj innej karty lub wróć do {productName} i wybierz inną metodę płatności." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe zgłosił kartę wydaną w kraju {countryName}. Aby zapłacić w tej lokalnej walucie, użyj karty wydanej w kraju rozliczeniowym lub wróć do {productName} i wybierz inną metodę płatności." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Subskrypcja" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Subskrypcja już istnieje" @@ -34051,11 +34013,6 @@ msgstr "Ta rozmowa jest szyfrowana end-to-end." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Tej operacji nie można cofnąć. Usunięcie aplikacji spowoduje również usunięcie jej bota." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Ta karta nie została wydana w Twoim kraju rozliczeniowym, więc nie można jej użyć do płatności w tej lokalnej walucie. Użyj karty z tego kraju lub wróć do {productName} i wybierz inną metodę płatności." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Ten panel wyboru jest dostępny tylko w aplikacji komputerowej." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Ten plan jest niedostępny. Skontaktuj się z pomocą techniczną." @@ -34709,11 +34666,6 @@ msgstr "Ten użytkownik już nie istnieje. Odśwież i spróbuj ponownie." msgid "This user was force-added to this community by a platform administrator." msgstr "Ten użytkownik został przymusowo dodany do tej społeczności przez administratora platformy." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Sesja weryfikacji wygasła. Wróć do {productName} i rozpocznij płatność ponownie." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Używaj {everyoneMention}/{hereMention} i {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Użyj {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Użyj {query} w miejscu, w którym ma zostać wstawiony tekst do przetłumaczenia." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Użyj {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Użyj rzeczywistej wartości" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Użyj innej metody" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Użyj ustawień regionalnych przeglądarki dla formatu godziny" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Użyj karty" @@ -37099,36 +37051,6 @@ msgstr "Użyj starego ciemnego motywu (oryginalna neutralna szara paleta)" msgid "Use light theme" msgstr "Użyj jasnego motywu" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Użyj lokalnej karty" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Użyj lokalnej karty, aby zweryfikować kartę wydaną w Brazylii przed płatnością w BRL. Wybierz inne metody, jeśli wolisz użyć {pixPaymentMethod} lub innej metody płatności, którą {paymentProviderName} oferuje na następnym ekranie." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Użyj lokalnej karty, aby zweryfikować kartę wydaną w Indiach przed płatnością w INR. Wybierz inne metody, jeśli wolisz użyć {upiPaymentMethod} lub innej metody płatności, którą {paymentProviderName} oferuje na następnym ekranie." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Użyj lokalnej karty, aby zweryfikować kartę wydaną w Polsce przed płatnością w PLN. Metoda płatności {blikPaymentMethod} nie obsługuje subskrypcji w płatnościach {paymentProviderName}, więc kontynuuj tylko, jeśli zamiast tego chcesz użyć standardowego ekranu płatności {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Użyj lokalnej karty, aby zweryfikować kartę wydaną w Turcji przed płatnością w TRY. Nie ma tu lokalnej metody opłacania subskrypcji za pomocą aplikacji, więc kontynuowanie przeniesie Cię do standardowego ekranu płatności {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Użyj lokalnej karty, aby zweryfikować kartę wydaną w Twoim kraju rozliczeniowym przed płatnością. Wybierz inne metody, aby skorzystać z pozostałych metod płatności oferowanych przez {paymentProviderName} na następnym ekranie." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Weryfikacja i ograniczenia członkostwa" msgid "Verification barrier" msgstr "Blokada wymagająca weryfikacji" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Weryfikacja anulowana" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Wysłano e-mail weryfikacyjny. Sprawdź swoją skrzynkę odbiorczą." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Weryfikacja wygasła" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Weryfikacja nieudana" @@ -37622,11 +37538,6 @@ msgstr "Zweryfikowana społeczność" msgid "Verify" msgstr "Zweryfikuj" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Zweryfikuj kartę" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Zweryfikuj kod" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Zweryfikuj swój adres e-mail, zanim wyślesz zaproszenia do znajomych." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Najpierw zweryfikuj swój adres e-mail" @@ -37744,10 +37655,6 @@ msgstr "Zweryfikuj swój adres e-mail, aby kupić {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Zweryfikuj swój adres e-mail, aby rozpoczynać rozmowy prywatne." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Weryfikowanie karty" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Weryfikowanie kodu…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Pasek przypomnienia o 2FA dla Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary zapewnia już stały dostęp, więc subskrypcja cykliczna nie jest potrzebna. Nadal możesz kupować prezenty dla innych." @@ -38611,11 +38518,6 @@ msgstr "W Waylandzie xdg-desktop-portal zarządza panelem wyboru i wyświetla ws msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "W Waylandzie xdg-desktop-portal zarządza panelem wyboru i wyświetla wszystkie okna oraz ekrany razem. Nie ma opcji filtrowania wyłącznie do okien. Naciśnij „Otwórz systemowy panel wyboru”, a następnie wybierz tam okno, aby przechwycić dźwięk z konkretnej aplikacji." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Nie udało nam się teraz potwierdzić Twojej karty. Odśwież tę stronę lub wróć do {productName} i spróbuj ponownie." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Nie udało nam się usunąć tego konta. Spróbuj ponownie." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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ę." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Jesteś teraz deweloperem!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Przekierowujemy Cię do witryny {paymentProviderName} w celu dokonania płatności. Po jej zakończeniu wróć do {productName}." @@ -39488,7 +39390,7 @@ msgstr "Możesz zamknąć to okno. Importowanie będzie kontynuowane w tle." msgid "You can close this tab" msgstr "Możesz zamknąć tę kartę" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Możesz teraz zamknąć tę kartę i wrócić do aplikacji." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Musisz zweryfikować swój adres e-mail, zanim rozpoczniesz rozmowę prywatną." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Musisz zweryfikować swój adres e-mail, zanim kupisz {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Ten użytkownik jest już na Twojej liście znajomych." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Masz już Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Osiągnięto limit działań. Spróbuj ponownie za {duration}." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Masz obecnie subskrypcję otrzymaną w prezencie. Nie odnowi się automatycznie. Możesz wykorzystać kolejne kody podarunkowe, aby ją przedłużyć. Subskrypcję cykliczną możesz rozpocząć po zakończeniu okresu otrzymanego w prezencie." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Wszystkie ostatnie wzmianki zostały wyświetlone. Nowe pojawią się tu wkrótce." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Twoja subskrypcja {premiumProductFullName} jest rozliczana przez {storeName}. Zarządzaj nią na swoim koncie {storeName}, aby zmienić plan lub sprawdzić status odnowienia." @@ -40316,14 +40218,6 @@ msgstr "Twoje zgłoszenie oczekuje na rozpatrzenie. Nadal możesz zaktualizować msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Twoja przeglądarka wymaga interakcji użytkownika, zanim będzie można odtworzyć dźwięk. Kliknij przycisk poniżej, aby włączyć czat głosowy." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Sprawdzamy Twoją kartę pod kątem lokalnych cen. Zazwyczaj trwa to tylko chwilę." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Twoja karta spełnia warunki. Przekierowujemy Cię teraz do strony płatności." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Upłynął termin zwrotu za Twój ostatni zakup. Skontaktuj się z pomoc msgid "Your new nickname, or leave blank to reset it." msgstr "Twój nowy pseudonim lub pozostaw puste, aby zresetować." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Twoja płatność została anulowana. Możesz teraz zamknąć tę kartę i wrócić do aplikacji." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Płatność zakończona pomyślnie. Możesz teraz zamknąć tę kartę i wrócić do aplikacji." diff --git a/fluxer_app/src/features/i18n/locales/pt-BR/messages.po b/fluxer_app/src/features/i18n/locales/pt-BR/messages.po index 29f69dc8d..0018dd400 100644 --- a/fluxer_app/src/features/i18n/locales/pt-BR/messages.po +++ b/fluxer_app/src/features/i18n/locales/pt-BR/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, =0 {# substituições} one {# substituição} ot msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} processa pagamentos com segurança." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} primeiro verificará se seu cartão é elegível para preços localizados e, em seguida, você prosseguirá para o pagamento. Retorne ao {productName} assim que concluir." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Todas as mensagens diretas e comunidades" msgid "All DMs only" msgstr "Somente mensagens diretas" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Tudo pronto" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Foi fornecido um status inválido. Você pode fechar esta aba e voltar para o aplicativo." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Foi fornecido um status inválido. Agora você pode fechar esta aba e voltar para o aplicativo." @@ -6739,14 +6734,6 @@ msgstr "Alinhamento do cartão" msgid "Card alignment controls" msgstr "Controles de alinhamento do cartão" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Cartão não elegível" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "A verificação do cartão foi cancelada. Você pode fechar esta aba e voltar para o app." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Finalizar compra" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "O checkout está bloqueado para esta conta." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "A finalização da compra está bloqueada para esta conta. Entre em contato com {supportEmail} se precisar de ajuda." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Finalização de compra indisponível" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Escolha como as horas são exibidas no aplicativo" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Escolha como você quer pagar por esta assinatura." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Escolha um dos métodos abaixo para provar a propriedade do domínio. Você só precisa concluir um." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Escolha a forma de pagamento" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Concluir verificação de conteúdo adulto" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Concluir pagamento" @@ -9409,11 +9396,6 @@ msgstr "Os menus de contexto podem ser abertos com um clique esquerdo (em botõe msgid "Continue" msgstr "Continuar" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Continuar para o pagamento" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,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 grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Não foi possível iniciar a autorização de {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Não foi possível iniciar a compra" @@ -18574,7 +18556,7 @@ msgstr "redirect_uri inválido" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Status inválido" @@ -20067,11 +20049,6 @@ msgstr "Formato de horário regional" msgid "Localization" msgstr "Localização do aplicativo" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "A verificação de cartão para preços regionais não está disponível no momento. Tente novamente mais tarde." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Outro" msgid "Other devices" msgstr "Outros dispositivos" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Outros métodos" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Pague uma vez e receba um link de presente para compartilhar. Presentes nunca são renovados." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Pague com {pixPaymentMethod} Automático para autorizar cobranças recorrentes diretamente do seu banco brasileiro. Ou escolha \"Usar cartão\" para inserir um cartão de crédito na próxima tela de {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Pague com {upiPaymentMethod} para configurar uma autorização eletrônica conforme as regras do RBI no seu banco indiano. Ou escolha \"Usar cartão\" para inserir um cartão de crédito na próxima tela de {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Pagamento cancelado" @@ -24980,7 +24952,7 @@ msgstr "Pagamento cancelado" msgid "Payment method" msgstr "Forma de pagamento" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Pagamento realizado com sucesso" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Preços" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "O preço ainda está carregando." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Presentes comprados" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "As compras estão desativadas para esta conta." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "As compras estão desativadas para esta conta. Entre em contato com {supportEmail} se isso parecer incorreto." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Compras indisponíveis" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Algo deu errado ao enviar seu e-mail de verificação. Tente novamente em alguns instantes." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Algo deu errado ao iniciar a compra. Tente novamente em alguns instantes." @@ -32672,16 +32644,6 @@ msgstr "Remover rastreamento" msgid "Strip tracking parameters from URLs" msgstr "Remover parâmetros de rastreamento de URLs" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "A Stripe não pôde verificar este cartão para os preços regionais. Use outro cartão ou volte ao {productName} e escolha outra forma de pagamento." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "A Stripe informou que o cartão foi emitido em {countryName}. Para pagar nesta moeda regional, use um cartão emitido no seu país de cobrança ou volte ao {productName} e escolha outra forma de pagamento." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Assinatura" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Assinatura já existe" @@ -34051,11 +34013,6 @@ msgstr "Esta chamada tem criptografia de ponta a ponta." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Isso não pode ser desfeito. Remover o aplicativo também exclui o bot dele." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Este cartão não corresponde ao seu país de cobrança, por isso não pode ser usado para esta moeda regional. Use um cartão local ou volte ao {productName} e escolha outra forma de pagamento." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Este seletor está disponível apenas no aplicativo para computador." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Este plano não está disponível. Entre em contato com o suporte." @@ -34709,11 +34666,6 @@ msgstr "Este usuário não existe mais. Atualize e tente novamente." msgid "This user was force-added to this community by a platform administrator." msgstr "Este usuário foi adicionado diretamente a esta comunidade por um administrador da plataforma." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Esta sessão de verificação expirou. Volte para o {productName} e inicie a compra novamente." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Usar {everyoneMention}/{hereMention} e {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Usar {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Use {query} onde o texto a ser traduzido deve ser inserido." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Usar {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Usar valor real" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Usar outro método" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Usar o formato de hora do navegador" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Usar cartão" @@ -37099,36 +37051,6 @@ msgstr "Usar o tema escuro antigo (paleta cinza neutra original)" msgid "Use light theme" msgstr "Usar tema claro" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Usar cartão local" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Selecione Usar cartão local para verificar um cartão emitido no Brasil antes de pagar a compra em reais (BRL). Escolha Outros métodos se preferir usar {pixPaymentMethod} ou outra forma de pagamento oferecida por {paymentProviderName} na próxima tela." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Selecione Usar cartão local para verificar um cartão emitido na Índia antes de pagar a compra em rúpias indianas (INR). Escolha Outros métodos se preferir usar {upiPaymentMethod} ou outra forma de pagamento oferecida por {paymentProviderName} na próxima tela." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Selecione Usar cartão local para verificar um cartão emitido na Polônia antes de pagar a compra em zlotys (PLN). {blikPaymentMethod} não aceita assinaturas na finalização de compra de {paymentProviderName}. Continue apenas se quiser usar a tela de pagamento padrão de {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Selecione Usar cartão local para verificar um cartão emitido na Turquia antes de pagar a compra em liras turcas (TRY). Não há uma forma local de pagamento de assinaturas por aplicativo neste caso. Ao continuar, você abrirá a tela de pagamento padrão de {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Selecione Usar cartão local para verificar um cartão emitido no seu país de cobrança antes de pagar a compra. Escolha Outros métodos para usar outra forma de pagamento oferecida por {paymentProviderName} na próxima tela." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verificação e requisitos para participação" msgid "Verification barrier" msgstr "Barreira de verificação" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verificação cancelada" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "E-mail de verificação enviado. Verifique sua caixa de entrada." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verificação expirou" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Falha na verificação" @@ -37622,11 +37538,6 @@ msgstr "Comunidade verificada" msgid "Verify" msgstr "Verificar" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Verificar cartão" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Verificar código" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Verifique seu e-mail antes de enviar pedidos de amizade." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verifique seu e-mail primeiro" @@ -37744,10 +37655,6 @@ msgstr "Verifique seu e-mail para comprar o {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Verifique seu e-mail para iniciar conversas por mensagem direta." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Verificando cartão" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Verificando código…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Barra de aviso de 2FA do Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "O Visionary já inclui acesso permanente, então não é necessária uma assinatura recorrente. Você ainda pode comprar presentes para outras pessoas." @@ -38611,11 +38518,6 @@ msgstr "O xdg-desktop-portal do Wayland controla o seletor e mostra todas as jan msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "O xdg-desktop-portal do Wayland é o responsável pelo seletor e mostra todas as janelas e telas juntas. Não há uma opção para filtrar apenas as janelas. Pressione \"Abrir seletor do sistema\" e escolha uma janela para obter áudio por aplicativo." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Não foi possível confirmar seu cartão agora. Atualize esta página ou volte para o {productName} e tente novamente." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Não foi possível remover essa conta. Tente novamente." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Agora você é um desenvolvedor!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Você está saindo do aplicativo para ir até {paymentProviderName} e concluir o pagamento. Volte para o {productName} assim que terminar." @@ -39488,7 +39390,7 @@ msgstr "Você pode fechar esta janela. A importação continuará em segundo pla msgid "You can close this tab" msgstr "Você pode fechar esta aba" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Você já pode fechar esta aba e voltar para o app." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Você precisa verificar seu endereço de e-mail antes de iniciar uma conversa por mensagem direta." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Você precisa verificar seu e-mail antes de comprar {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Você já é amigo(a) deste usuário." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Você já é assinante Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Você atingiu o limite de solicitações. Aguarde {duration} antes de tentar novamente." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Você está em uma assinatura de presente. Ela não será renovada. Você pode resgatar mais códigos de presente para estendê-la. Assinaturas recorrentes podem ser iniciadas após o término do seu tempo de presente." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Você viu todas as suas menções recentes. Mais aparecerão aqui em breve." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Sua assinatura {premiumProductFullName} é cobrada via {storeName}. Gerencie-a na sua conta da {storeName} para mudar de plano ou verificar o status da renovação." @@ -40316,14 +40218,6 @@ msgstr "Sua inscrição está aguardando análise. Você ainda pode atualizar os msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Seu navegador requer interação para reproduzir áudio. Clique no botão abaixo para ativar o chat de voz." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Seu cartão está sendo verificado para os preços regionais. Isso geralmente leva só um instante." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Seu cartão é elegível. Redirecionando para a página de pagamento." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Sua compra mais recente não está mais dentro do período de reembolso. msgid "Your new nickname, or leave blank to reset it." msgstr "Seu novo apelido, ou deixe em branco para redefinir." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Seu pagamento foi cancelado. Você já pode fechar esta aba e voltar para o aplicativo." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Seu pagamento foi concluído. Você já pode fechar esta aba e voltar para o aplicativo." diff --git a/fluxer_app/src/features/i18n/locales/ro/messages.po b/fluxer_app/src/features/i18n/locales/ro/messages.po index 5b571e2be..7c2a5bb77 100644 --- a/fluxer_app/src/features/i18n/locales/ro/messages.po +++ b/fluxer_app/src/features/i18n/locales/ro/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# suprascriere} few {# suprascrieri} other msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} procesează plățile în siguranță." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} va verifica mai întâi dacă cardul tău este eligibil pentru prețuri localizate, apoi vei continua la plată. Revino la {productName} după ce ai finalizat procesul." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Toate DM-urile + comunitățile" msgid "All DMs only" msgstr "Doar toate DM-urile" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Gata" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "A fost furnizată o stare nevalidă. Poți închide această filă și reveni la aplicație." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "A fost furnizată o stare nevalidă. Acum poți închide această filă și reveni la aplicație." @@ -6739,14 +6734,6 @@ msgstr "Aliniere card" msgid "Card alignment controls" msgstr "Comenzi de aliniere card" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Card neeligibil" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Verificarea cardului a fost anulată. Poți închide această filă și reveni la aplicație." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Finalizare comandă" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Plata este blocată pentru acest cont." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Finalizarea comenzii este blocată pentru acest cont. Contactează {supportEmail} dacă ai nevoie de ajutor." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Finalizarea comenzii nu este disponibilă" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Alege cum sunt afișate orele în aplicație" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Alege cum vrei să plătești acest abonament." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Alege una dintre metodele de mai jos pentru a dovedi că deții domeniul. Trebuie să finalizezi doar una." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Alege metoda de plată" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Finalizează verificarea conținutului matur" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Finalizează plata" @@ -9409,11 +9396,6 @@ msgstr "Meniurile contextuale pot fi deschise cu clic stânga (pe butoane) sau c msgid "Continue" msgstr "Continuă" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Continuă la plată" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,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 grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Nu s-a putut începe autorizarea {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Nu s-a putut iniția plata" @@ -18574,7 +18556,7 @@ msgstr "redirect_uri nevalid" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Stare nevalidă" @@ -20067,11 +20049,6 @@ msgstr "Format oră locală" msgid "Localization" msgstr "Localizare" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Verificarea localizată a cardului nu este disponibilă momentan. Încearcă din nou mai târziu." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Altele" msgid "Other devices" msgstr "Alte dispozitive" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Alte metode" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Plătește o singură dată și primește un link cadou de distribuit. Cadourile nu se reînnoiesc niciodată." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Plătește cu {pixPaymentMethod} Automático pentru a autoriza plățile recurente direct din banca ta braziliană. Sau alege „Folosește cardul” pentru a introduce un card de credit pe ecranul următor al {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Plătește cu {upiPaymentMethod} pentru a configura un e-mandat conform RBI de la banca ta indiană. Sau alege „Folosește cardul” pentru a introduce un card de credit pe ecranul următor al {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Plată anulată" @@ -24980,7 +24952,7 @@ msgstr "Plată anulată" msgid "Payment method" msgstr "Metodă de plată" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Plată efectuată cu succes" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Prețuri" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Prețurile încă se încarcă." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Cadouri cumpărate" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Achizițiile sunt dezactivate pentru acest cont." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Achizițiile sunt dezactivate pentru acest cont. Contactează {supportEmail} dacă ți se pare o eroare." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Achizițiile nu sunt disponibile" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "A apărut o eroare la trimiterea e-mailului de verificare. Te rugăm să încerci din nou mai târziu." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "A apărut o eroare la inițierea plății. Te rugăm să încerci din nou mai târziu." @@ -32672,16 +32644,6 @@ msgstr "Elimină urmărirea" msgid "Strip tracking parameters from URLs" msgstr "Elimină parametrii de urmărire din URL-uri" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe nu a putut verifica acest card pentru prețuri localizate. Folosește alt card sau revino la {productName} și alege altă metodă de plată." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe a raportat un card emis în {countryName}. Pentru a plăti în această monedă localizată, folosește un card emis în țara ta de facturare sau revino la {productName} și alege o altă metodă de plată." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Abonament" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Abonamentul există deja" @@ -34051,11 +34013,6 @@ msgstr "Acest apel este criptat end-to-end." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Această acțiune nu poate fi anulată. Eliminarea aplicației șterge și botul acesteia." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Acest card nu corespunde țării tale de facturare, deci nu poate fi utilizat pentru această monedă localizată. Folosește un card local sau revino la {productName} și alege altă metodă de plată." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Acest selector este disponibil doar în aplicația desktop." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Acest plan nu este disponibil. Contactează asistența." @@ -34709,11 +34666,6 @@ msgstr "Acest utilizator nu mai există. Reîmprospătează și încearcă din n msgid "This user was force-added to this community by a platform administrator." msgstr "Acest utilizator a fost adăugat forțat în această comunitate de către un administrator al platformei." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Sesiunea de verificare a expirat. Revino la {productName} și începe din nou procesul de plată." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Folosește {everyoneMention}/{hereMention} și {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Folosește {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Folosește {query} acolo unde ar trebui inserat textul de tradus." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Folosește {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Folosește valoarea reală" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Folosește o metodă alternativă" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Folosește setările regionale ale browserului pentru formatul orei" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Folosește cardul" @@ -37099,36 +37051,6 @@ msgstr "Folosește tema întunecată veche (paleta gri neutră originală)" msgid "Use light theme" msgstr "Folosește tema luminoasă" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Folosește cardul local" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Folosește un card local pentru a verifica un card emis în Brazilia înainte de finalizarea plății în BRL. Alege alte metode dacă preferi să încerci {pixPaymentMethod} sau o altă metodă de plată pe care {paymentProviderName} o oferă pe ecranul următor." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Folosește un card local pentru a verifica un card emis în India înainte de finalizarea plății în INR. Alege alte metode dacă preferi să încerci {upiPaymentMethod} sau o altă metodă de plată pe care {paymentProviderName} o oferă pe ecranul următor." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Folosește un card local pentru a verifica un card emis în Polonia înainte de finalizarea plății în PLN. {blikPaymentMethod} nu acceptă abonamente la finalizarea plății {paymentProviderName}, așa că continuă doar dacă dorești în schimb ecranul de plată standard al {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Folosește un card local pentru a verifica un card emis în Turcia înainte de finalizarea plății în TRY. Nu există o metodă locală de abonament prin aplicație, așa că, dacă vei continua, vei fi direcționat către ecranul de plată standard al {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Folosește un card local pentru a verifica un card emis în țara ta de facturare înainte de finalizarea plății. Alege alte metode pentru orice altă metodă de plată pe care {paymentProviderName} o oferă pe ecranul următor." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verificare și bariere de membru" msgid "Verification barrier" msgstr "Barieră de verificare" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verificare anulată" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "E-mailul de verificare a fost trimis. Verifică-ți căsuța de e-mail." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verificarea a expirat" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Verificarea nu a reușit" @@ -37622,11 +37538,6 @@ msgstr "Comunitate verificată" msgid "Verify" msgstr "Verifică" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Verifică cardul" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Verifică codul" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Verifică-ți adresa de e-mail înainte de a trimite cereri de prietenie." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verifică-ți mai întâi adresa de e-mail" @@ -37744,10 +37655,6 @@ msgstr "Verifică-ți adresa de e-mail pentru a cumpăra {premiumProductFullName msgid "Verify your email to start DMs." msgstr "Verifică-ți adresa de e-mail pentru a începe DM-uri." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Se verifică cardul" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Se verifică codul…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Bara de notificare 2FA Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary include deja acces permanent, deci nu este necesar un abonament recurent. Poți cumpăra în continuare cadouri pentru alții." @@ -38611,11 +38518,6 @@ msgstr "xdg-desktop-portal de la Wayland controlează selectorul și afișează msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "xdg-desktop-portal de la Wayland controlează selectorul și afișează împreună toate ferestrele și ecranele. Nu există nicio opțiune care să îl limiteze doar la ferestre. Apasă pe „Deschide selectorul de sistem”, apoi alege o fereastră de acolo pentru a obține sunet per aplicație." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Nu am putut confirma cardul tău momentan. Reîncarcă pagina sau revino la {productName} și încearcă din nou." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Nu am putut elimina acest cont. Încearcă din nou." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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ă." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Acum ești dezvoltator!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Te trimitem către {paymentProviderName} pentru a finaliza plata. Revino la {productName} după ce ai terminat." @@ -39488,7 +39390,7 @@ msgstr "Poți închide această fereastră. Importul va continua în fundal." msgid "You can close this tab" msgstr "Poți închide această filă" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Acum poți închide această filă și te poți întoarce la aplicație." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Trebuie să-ți verifici adresa de e-mail înainte de a putea începe un mesaj direct." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Trebuie să-ți verifici adresa de e-mail înainte de a putea achiziționa {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Ești deja prieten cu acest utilizator." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Ești deja Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Ai atins limita de rată. Așteaptă {duration} înainte de a încerca din nou." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Ai în prezent un abonament cadou. Acesta nu se va reînnoi. Poți valorifica mai multe coduri cadou pentru a-l prelungi. Poți începe un abonament recurent după ce se termină perioada cadou." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Ai văzut toate mențiunile recente. Vor apărea mai multe aici în curând." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Abonamentul tău {premiumProductFullName} este facturat prin {storeName}. Gestionează-l din contul tău {storeName} pentru a schimba planul sau a verifica starea reînnoirii." @@ -40316,14 +40218,6 @@ msgstr "Cererea ta este în curs de examinare. Poți actualiza în continuare de msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Browserul tău necesită interacțiune cu utilizatorul înainte de a reda audio. Apasă butonul de mai jos pentru a activa chatul vocal." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Se verifică eligibilitatea cardului tău pentru prețuri localizate. De obicei durează doar un moment." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Cardul tău este eligibil. Te redirecționăm acum către pagina de plată." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Cea mai recentă achiziție nu mai este în perioada de rambursare. Cont msgid "Your new nickname, or leave blank to reset it." msgstr "Noul tău pseudonim sau lasă gol pentru a-l reseta." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Plata a fost anulată. Acum poți închide această filă și te poți întoarce la aplicație." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Plata a fost efectuată cu succes. Acum poți închide această filă și reveni la aplicație." diff --git a/fluxer_app/src/features/i18n/locales/ru/messages.po b/fluxer_app/src/features/i18n/locales/ru/messages.po index cc550dcff..34fc02c7c 100644 --- a/fluxer_app/src/features/i18n/locales/ru/messages.po +++ b/fluxer_app/src/features/i18n/locales/ru/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# переопределение} few {# п msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} безопасно обрабатывает платежи." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} сначала проверит, подходит ли ваша карта для региональных цен, а затем перенаправит вас к оплате. Вернитесь в {productName} после завершения." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Все личные чаты + сообщества" msgid "All DMs only" msgstr "Только личные чаты" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Готово" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Указан неверный статус. Вы можете закрыть эту вкладку и вернуться в приложение." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Указан неверный статус. Теперь вы можете закрыть эту вкладку и вернуться в приложение." @@ -6739,14 +6734,6 @@ msgstr "Выравнивание карточки" msgid "Card alignment controls" msgstr "Элементы управления выравниванием карточки" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Карта не подходит" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Проверка карты отменена. Можете закрыть эту вкладку и вернуться в приложение." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Оформление заказа" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Оплата заблокирована для этой учетной записи." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Оформление заказа для этого аккаунта заблокировано. Если вам нужна помощь, свяжитесь с нами по адресу {supportEmail}." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Оформление заказа недоступно" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Выберите формат времени в приложении" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Выберите способ оплаты подписки." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Выберите один из способов ниже, чтобы подтвердить владение доменом. Вам нужно выполнить только один." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Выберите способ оплаты" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Пройти проверку контента для взрослых" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Завершить оплату" @@ -9409,11 +9396,6 @@ msgstr "Контекстные меню открываются левым кли msgid "Continue" msgstr "Продолжить" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Перейти к оплате" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Не удалось открыть результат поиска" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Не удалось начать авторизацию {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Не удалось начать оформление заказа" @@ -18574,7 +18556,7 @@ msgstr "Недействительный redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Неверный статус" @@ -20067,11 +20049,6 @@ msgstr "Формат времени" msgid "Localization" msgstr "Локализация" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Проверка карты для вашей страны сейчас недоступна. Повторите попытку позже." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Другое" msgid "Other devices" msgstr "Другие устройства" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Другие способы" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Оплатите один раз и получите ссылку на подарок, которой можно поделиться. Подарки не возобновляются." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Оплатите с помощью {pixPaymentMethod} Automático, чтобы разрешить регулярные списания напрямую с вашего бразильского банковского счёта. Или выберите «Использовать карту», чтобы ввести данные кредитной карты на следующем экране {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Оплатите через {upiPaymentMethod}, чтобы настроить электронный мандат, соответствующий требованиям RBI, в вашем индийском банке. Или выберите «Использовать карту», чтобы ввести данные кредитной карты на следующем экране {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Платёж отменён" @@ -24980,7 +24952,7 @@ msgstr "Платёж отменён" msgid "Payment method" msgstr "Способ оплаты" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Оплата прошла успешно" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Цены" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Цены ещё загружаются." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Купленные подарки" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Покупки для этой учетной записи отключены." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Покупки для этого аккаунта отключены. Если это ошибка, свяжитесь с нами по адресу {supportEmail}." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Покупки недоступны" @@ -31635,7 +31607,7 @@ msgstr "Что-то пошло не так при загрузке журнал #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Что-то пошло не так при отправке письма для подтверждения. Повторите попытку через минуту." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Что-то пошло не так при запуске оформления заказа. Повторите попытку через минуту." @@ -32672,16 +32644,6 @@ msgstr "Удалить отслеживание" msgid "Strip tracking parameters from URLs" msgstr "Удалять параметры отслеживания из ссылок" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe не смог проверить эту карту для локализованных цен. Попробуйте другую карту или вернитесь в {productName} и выберите другой способ оплаты." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe сообщил, что карта выпущена в стране {countryName}. Чтобы платить в этой локальной валюте, используйте карту, выпущенную в стране вашего платёжного адреса, или вернитесь в {productName} и выберите другой способ оплаты." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Подписка" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Подписка уже оформлена" @@ -34051,11 +34013,6 @@ msgstr "В этом звонке включено сквозное шифров msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Это действие необратимо. При удалении приложения также будет удален его бот." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Эта карта не соответствует вашей стране выставления счетов, поэтому ее нельзя использовать для данной локализованной валюты. Используйте местную карту или вернитесь в {productName} и выберите другой способ оплаты." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Это окно выбора доступно только в приложении для ПК." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Этот тариф недоступен. Обратитесь в поддержку." @@ -34709,11 +34666,6 @@ msgstr "Этого пользователя больше нет. Обновит msgid "This user was force-added to this community by a platform administrator." msgstr "Этот пользователь был принудительно добавлен в сообщество администратором платформы." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Срок действия сессии проверки истёк. Вернитесь в {productName} и начните оформление покупки заново." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Использовать {everyoneMention}/{hereMention} и {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Использовать {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Используйте {query} там, где нужно подставить текст для перевода." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Использовать {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Использовать фактическое значение" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Использовать другой способ" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Использовать региональные настройки браузера для формата времени" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Использовать карту" @@ -37099,36 +37051,6 @@ msgstr "Использовать старую темную тему (исход msgid "Use light theme" msgstr "Использовать светлую тему" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Использовать местную карту" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Используйте местную карту для подтверждения карты, выпущенной в Бразилии, перед оплатой в BRL. Выберите другие способы, если хотите попробовать {pixPaymentMethod} или другой способ оплаты, который предлагает {paymentProviderName} на следующем экране." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Используйте местную карту для подтверждения карты, выпущенной в Индии, перед оплатой в INR. Выберите другие способы, если вы предпочитаете {upiPaymentMethod} или другой способ оплаты, предлагаемый {paymentProviderName} на следующем экране." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Используйте местную карту для подтверждения карты, выпущенной в Польше, перед оплатой в PLN. {blikPaymentMethod} не поддерживает подписки при оплате через {paymentProviderName}, поэтому продолжайте, только если хотите вместо этого перейти к стандартному экрану оплаты {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Используйте местную карту для подтверждения карты, выпущенной в Турции, перед оплатой в TRY. Здесь нет локального способа подписки через приложение, поэтому при продолжении вы перейдете на стандартный экран оплаты {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Используйте местную карту, чтобы подтвердить карту, выпущенную в вашей стране оплаты, перед оплатой. Выберите другие способы для любых других методов оплаты, которые {paymentProviderName} предлагает на следующем экране." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Верификация и барьеры для вступления" msgid "Verification barrier" msgstr "Барьер верификации" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Проверка отменена" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Письмо для подтверждения отправлено. П #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Срок действия проверки истёк" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Подтверждение не удалось" @@ -37622,11 +37538,6 @@ msgstr "Подтвержденное сообщество" msgid "Verify" msgstr "Подтвердить" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Подтвердить карту" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Подтвердить код" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Подтвердите почту, прежде чем отправлять запросы на добавление в друзья." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Сначала подтвердите почту" @@ -37744,10 +37655,6 @@ msgstr "Подтвердите почту, чтобы приобрести {prem msgid "Verify your email to start DMs." msgstr "Подтвердите почту, чтобы начинать личные чаты." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Проверяем карту" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Проверка кода…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Баннер 2FA для Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "В Visionary уже есть постоянный доступ, поэтому регулярная подписка не нужна. Вы всё ещё можете покупать подарки для других." @@ -38611,11 +38518,6 @@ msgstr "В Wayland выбором управляет xdg-desktop-portal, и он msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "В Wayland выбором управляет xdg-desktop-portal, и он показывает все окна и дисплеи вместе. Нет флага, который ограничил бы список только окнами. Нажмите «Открыть системный выбор источника», затем выберите там окно, чтобы получить звук отдельного приложения." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Не удалось подтвердить вашу карту. Обновите страницу или вернитесь в {productName} и попробуйте снова." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Не удалось удалить аккаунт. Попробуйте ещё раз." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} для этого аккаунта. Управляйте ею на защищённом портале оплаты, чтобы обновить платёжные данные или проверить статус продления. Если вы только что оплатили, подождите минуту и снова откройте эту страницу." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Теперь вы разработчик!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Вы переходите на сайт {paymentProviderName} для завершения оплаты. Вернитесь в {productName} после завершения." @@ -39488,7 +39390,7 @@ msgstr "Можете закрыть это окно. Импорт продолж msgid "You can close this tab" msgstr "Эту вкладку можно закрыть" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Теперь можно закрыть эту вкладку и вернуться в приложение." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Чтобы начать личный чат, нужно подтвердить адрес электронной почты." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Чтобы приобрести {premiumProductFullName}, вам нужно подтвердить адрес электронной почты." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Вы уже друзья с этим пользователем." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Вы уже Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Вы превысили лимит запросов. Подождите {duration}, прежде чем повторить попытку." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "У вас подарочная подписка. Она не будет продлена автоматически. Вы можете активировать другие подарочные коды, чтобы продлить ее. Обычную подписку можно будет оформить после окончания подарочного периода." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Вы просмотрели все недавние упоминания. Скоро здесь появятся новые." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Ваша подписка {premiumProductFullName} оплачивается через {storeName}. Управляйте ею в своём аккаунте {storeName}, чтобы сменить план или проверить статус продления." @@ -40316,14 +40218,6 @@ msgstr "Ваша заявка находится на рассмотрении. msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Браузеру нужно действие с вашей стороны, прежде чем он сможет воспроизводить звук. Нажмите кнопку ниже, чтобы включить голосовой чат." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Проверяем карту, чтобы подобрать цены для вашего региона. Обычно это занимает несколько секунд." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Ваша карта подходит. Перенаправляем вас на страницу оплаты." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "С момента вашей последней покупки прош msgid "Your new nickname, or leave blank to reset it." msgstr "Новый никнейм. Оставьте поле пустым, чтобы сбросить его." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Ваш платеж отменен. Теперь вы можете закрыть эту вкладку и вернуться в приложение." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Оплата прошла успешно. Теперь можно закрыть эту вкладку и вернуться в приложение." diff --git a/fluxer_app/src/features/i18n/locales/sv-SE/messages.po b/fluxer_app/src/features/i18n/locales/sv-SE/messages.po index 8de32195b..86dabfb82 100644 --- a/fluxer_app/src/features/i18n/locales/sv-SE/messages.po +++ b/fluxer_app/src/features/i18n/locales/sv-SE/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# åsidosättning} other {# åsidosättning msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} hanterar betalningar säkert." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} kontrollerar först om ditt kort kan användas för regionala priser och tar dig sedan till betalningen. Återgå till {productName} när du är klar." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Alla DM-konversationer och communities" msgid "All DMs only" msgstr "Endast alla DM-konversationer" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Klart" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Ogiltig status angavs. Du kan stänga den här fliken och återgå till appen." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "En ogiltig status angavs. Du kan nu stänga den här fliken och återgå till appen." @@ -6739,14 +6734,6 @@ msgstr "Kortjustering" msgid "Card alignment controls" msgstr "Kortjusteringskontroller" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Kortet uppfyller inte kraven" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Kortverifieringen avbröts. Du kan stänga den här fliken och återgå till appen." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Kassa" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Kassan är blockerad för det här kontot." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Kassan är blockerad för det här kontot. Kontakta {supportEmail} om du behöver hjälp." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Kassan är inte tillgänglig" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Välj hur tider visas i appen" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Välj hur du vill betala för abonnemanget." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Välj en av metoderna nedan för att bevisa domänägarskap. Du behöver bara slutföra en." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Välj betalningsmetod" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Slutför kontrollen för vuxet innehåll" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Slutför betalning" @@ -9409,11 +9396,6 @@ msgstr "Snabbmenyer kan öppnas med vänsterklick (på knappar) eller högerklic msgid "Continue" msgstr "Fortsätt" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Fortsätt till kassan" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Kunde inte öppna sökresultatet" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Kunde inte starta auktoriseringen för {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Kunde inte starta betalning" @@ -18574,7 +18556,7 @@ msgstr "Ogiltig redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Ogiltig status" @@ -20067,11 +20049,6 @@ msgstr "Tidsformat för språk och region" msgid "Localization" msgstr "Språk och region" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Regionspecifik kortverifiering är inte tillgänglig just nu. Försök igen senare." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Annat" msgid "Other devices" msgstr "Andra enheter" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Andra metoder" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Betala en gång och få en gåvolänk att dela. Gåvor förnyas aldrig." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Betala med {pixPaymentMethod} Automático för att godkänna återkommande debiteringar direkt från din brasilianska bank. Eller välj ”Använd kort” för att ange ett kreditkort på nästa sida hos {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Betala med {upiPaymentMethod} för att skapa ett e-mandat hos din indiska bank som uppfyller RBI:s krav. Eller välj ”Använd kort” för att ange ett kreditkort på nästa sida hos {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Betalning avbruten" @@ -24980,7 +24952,7 @@ msgstr "Betalning avbruten" msgid "Payment method" msgstr "Betalningsmetod" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Betalningen lyckades" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Priser" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Priser laddas fortfarande." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Köpta presenter" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Inköp är inaktiverade för detta konto." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Köpen är inaktiverade för det här kontot. Kontakta {supportEmail} om det här verkar fel." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Köp är inte tillgängliga" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Något gick fel när vi skulle skicka ditt verifieringsmejl. Försök igen om en liten stund." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Något gick fel när betalningen skulle startas. Försök igen om en stund." @@ -32672,16 +32644,6 @@ msgstr "Ta bort spårning" msgid "Strip tracking parameters from URLs" msgstr "Ta bort spårningsparametrar från webbadresser" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe kunde inte verifiera det här kortet för lokal prissättning. Använd ett annat kort, eller återgå till {productName} och välj en annan betalningsmetod." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe rapporterade ett kort utgivet i {countryName}. För att betala i denna lokala valuta, använd ett kort utgivet i ditt faktureringsland, eller återgå till {productName} och välj en annan betalningsmetod." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Abonnemang" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Abonnemanget finns redan" @@ -34051,11 +34013,6 @@ msgstr "Samtalet är totalsträckskrypterat." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Detta kan inte ångras. Om du tar bort applikationen raderas även dess bot." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Det här kortet matchar inte ditt faktureringsland, så det kan inte användas för den här lokala valutan. Använd ett lokalt kort, eller återgå till {productName} och välj en annan betalningsmetod." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Den här väljaren är bara tillgänglig i datorappen." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Den här planen är inte tillgänglig. Kontakta supporten." @@ -34709,11 +34666,6 @@ msgstr "Användaren finns inte längre. Uppdatera och försök igen." msgid "This user was force-added to this community by a platform administrator." msgstr "En plattformsadministratör lade till den här användaren i communityn utan användarens godkännande." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Verifieringssessionen har löpt ut. Gå tillbaka till {productName} och starta kassan igen." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Använd {everyoneMention}/{hereMention} och {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Använd {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Använd {query} där texten som ska översättas ska infogas." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Använd {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Använd faktiskt värde" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Använd en annan metod" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Använd webbläsarens språkinställning för tidsformat" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Använd kort" @@ -37099,36 +37051,6 @@ msgstr "Använd äldre mörkt tema (ursprunglig neutral grå palett)" msgid "Use light theme" msgstr "Använd ljust tema" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Använd lokalt kort" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Välj ”Använd lokalt kort” för att verifiera ett kort utfärdat i Brasilien innan du betalar i BRL. Välj ”Andra metoder” om du hellre vill prova {pixPaymentMethod} eller någon annan betalningsmetod som {paymentProviderName} erbjuder på nästa sida." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Välj ”Använd lokalt kort” för att verifiera ett kort utfärdat i Indien innan du betalar i INR. Välj ”Andra metoder” om du hellre vill prova {upiPaymentMethod} eller någon annan betalningsmetod som {paymentProviderName} erbjuder på nästa sida." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Välj ”Använd lokalt kort” för att verifiera ett kort utfärdat i Polen innan du betalar i PLN. {blikPaymentMethod} stöder inte abonnemang i kassan hos {paymentProviderName}, så fortsätt bara om du vill använda den vanliga betalningssidan hos {paymentProviderName2} i stället." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Välj ”Använd lokalt kort” för att verifiera ett kort utfärdat i Turkiet innan du betalar i TRY. Här finns ingen lokal appbaserad betalningsmetod för abonnemang, så om du fortsätter kommer du till den vanliga betalningssidan hos {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Välj ”Använd lokalt kort” för att verifiera ett kort utfärdat i ditt faktureringsland innan du betalar. Välj ”Andra metoder” för övriga betalningsmetoder som {paymentProviderName} erbjuder på nästa sida." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Verifiering och medlemskapsbarriärer" msgid "Verification barrier" msgstr "Verifieringsspärr" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Verifiering avbruten" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Verifieringsmejl skickat. Kolla din inkorg." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Verifieringen har upphört att gälla" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Verifiering misslyckades" @@ -37622,11 +37538,6 @@ msgstr "Verifierad community" msgid "Verify" msgstr "Verifiera" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Verifiera kort" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Verifiera kod" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Verifiera din e-postadress innan du skickar vänförfrågningar." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Verifiera din e-postadress först" @@ -37744,10 +37655,6 @@ msgstr "Verifiera din e-postadress för att köpa {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Verifiera din e-postadress för att starta DM-konversationer." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Verifierar kort" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Verifierar kod…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 2FA-meddelandefält" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary ger redan permanent åtkomst, så ett återkommande abonnemang behövs inte. Du kan fortfarande köpa presenter till andra." @@ -38611,11 +38518,6 @@ msgstr "Waylands xdg-desktop-portal styr väljaren och visar alla fönster och s msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Waylands xdg-desktop-portal styr väljaren och visar alla fönster och skärmar tillsammans. Det finns ingen flagga som begränsar den till fönster. Tryck på ”Öppna systemväljaren” och välj ett fönster där för att få ljud från en enskild app." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Vi kunde inte bekräfta ditt kort just nu. Uppdatera sidan eller återgå till {productName} och försök igen." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Vi kunde inte ta bort kontot. Försök igen." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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 ett befintligt {premiumProductFullName}-abonnemang för det här kontot. Hantera det 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 sidan igen." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Du är nu utvecklare!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Du navigeras nu till {paymentProviderName} för att slutföra betalningen. Återgå till {productName} när du har slutfört den." @@ -39488,7 +39390,7 @@ msgstr "Du kan stänga den här rutan. Importen fortsätter i bakgrunden." msgid "You can close this tab" msgstr "Du kan stänga den här fliken" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Du kan nu stänga den här fliken och återgå till appen." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Du måste verifiera din e-postadress innan du kan starta en DM-konversation." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Du måste verifiera din e-postadress innan du kan köpa {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Du är redan vän med den här användaren." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Du är redan Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Du är hastighetsbegränsad. Vänta {duration} innan du försöker igen." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Du har ett presentabonnemang som inte förnyas automatiskt. Lös in fler presentkoder för att förlänga det. Du kan teckna ett återkommande abonnemang när presentperioden tar slut." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Du har sett alla dina senaste omnämnanden. Fler kommer att visas här snart." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Ditt {premiumProductFullName}-abonnemang faktureras via {storeName}. Hantera det i ditt {storeName}-konto för att byta plan eller kontrollera förnyelsestatus." @@ -40316,14 +40218,6 @@ msgstr "Din ansökan väntar på granskning. Du kan fortfarande uppdatera listni msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Din webbläsare kräver användarinteraktion innan ljud kan spelas upp. Klicka på knappen nedan för att aktivera röstchatt." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Ditt kort kontrolleras för regional prissättning. Det brukar ta en stund." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Ditt kort är godkänt. Du omdirigeras nu till betalningssidan." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Ditt senaste köp ligger inte längre inom återbetalningsperioden. Kont msgid "Your new nickname, or leave blank to reset it." msgstr "Ditt nya smeknamn, eller lämna tomt för att återställa det." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Din betalning avbröts. Du kan nu stänga den här fliken och återgå till appen." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Betalningen lyckades. Du kan nu stänga den här fliken och återgå till appen." diff --git a/fluxer_app/src/features/i18n/locales/th/messages.po b/fluxer_app/src/features/i18n/locales/th/messages.po index eee6c111b..97d26b93f 100644 --- a/fluxer_app/src/features/i18n/locales/th/messages.po +++ b/fluxer_app/src/features/i18n/locales/th/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# การแทนที่} other {# ก msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} จัดการการชำระเงินอย่างปลอดภัย" -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} จะตรวจสอบก่อนว่าบัตรของคุณมีสิทธิ์ได้ราคาแบบท้องถิ่นหรือไม่ จากนั้นจะพาคุณไปยังหน้าชำระเงิน กลับมาที่ {productName} เมื่อทำเสร็จแล้ว" - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "ข้อความส่วนตัวทั้งหมด + คอ msgid "All DMs only" msgstr "เฉพาะข้อความส่วนตัว" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "เรียบร้อย" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "สถานะไม่ถูกต้อง คุณสามารถปิดแท็บนี้และกลับไปที่แอปได้เลย" #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "สถานะไม่ถูกต้อง ปิดแท็บนี้แล้วกลับไปที่แอปได้เลย" @@ -6739,14 +6734,6 @@ msgstr "การจัดวางการ์ด" msgid "Card alignment controls" msgstr "ตัวควบคุมการจัดวางการ์ด" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "บัตรไม่เข้าเกณฑ์" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "ยกเลิกการยืนยันบัตรแล้ว ปิดแท็บนี้แล้วกลับไปที่แอปได้เลย" - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "ชำระเงิน" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "การชำระเงินถูกบล็อกสำหรับบัญชีนี้" #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "บัญชีนี้ถูกบล็อกไม่ให้ชำระเงิน โปรดติดต่อ {supportEmail} หากคุณต้องการความช่วยเหลือ" #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "ไม่สามารถชำระเงินได้" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "เลือกวิธีแสดงเวลาในแอป" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "เลือกช่องทางชำระเงินสำหรับการสมัครสมาชิกนี้" @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "เลือกวิธีใดวิธีหนึ่งด้านล่างเพื่อยืนยันความเป็นเจ้าของโดเมน คุณต้องทำเพียงวิธีเดียวเท่านั้น" #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "เลือกช่องทางการชำระเงิน" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "ดำเนินการตรวจสอบเนื้อหาสำหรับผู้ใหญ่ให้เสร็จสิ้น" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "ชำระเงินให้เสร็จสมบูรณ์" @@ -9409,11 +9396,6 @@ msgstr "เมนูบริบทสามารถเปิดได้ด้ msgid "Continue" msgstr "ดำเนินการต่อ" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "ดำเนินการชำระเงิน" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "เปิดผลการค้นหาไม่ได้" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "ไม่สามารถเริ่มการอนุญาต {blueskyProviderName} ได้" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "ไม่สามารถเริ่มชำระเงินได้" @@ -18574,7 +18556,7 @@ msgstr "redirect_uri ไม่ถูกต้อง" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "สถานะไม่ถูกต้อง" @@ -20067,11 +20049,6 @@ msgstr "รูปแบบเวลาท้องถิ่น" msgid "Localization" msgstr "ภาษา" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "ขณะนี้ไม่สามารถยืนยันบัตรแบบท้องถิ่นได้ โปรดลองอีกครั้งในภายหลัง" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "อื่น ๆ" msgid "Other devices" msgstr "อุปกรณ์อื่น" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "วิธีอื่น" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "ชำระเงินครั้งเดียวและรับลิงก์ของขวัญเพื่อแชร์ ของขวัญจะไม่มีการต่ออายุ" #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "ชำระเงินด้วย {pixPaymentMethod} Automático เพื่ออนุมัติการเรียกเก็บเงินที่เกิดขึ้นประจำโดยตรงจากธนาคารในบราซิลของคุณ หรือเลือก \"ใช้บัตร\" เพื่อกรอกข้อมูลบัตรเครดิตในหน้าถัดไปของ {paymentProviderName}" #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "ชำระเงินด้วย {upiPaymentMethod} เพื่อตั้งค่า e-mandate ที่เป็นไปตามข้อกำหนดของ RBI จากธนาคารอินเดียของคุณ หรือเลือก \"ใช้บัตร\" เพื่อกรอกข้อมูลบัตรเครดิตในหน้าถัดไปของ {paymentProviderName}" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "ยกเลิกการชำระเงินแล้ว" @@ -24980,7 +24952,7 @@ msgstr "ยกเลิกการชำระเงินแล้ว" msgid "Payment method" msgstr "วิธีการชำระเงิน" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "ชำระเงินสำเร็จ" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "ราคา" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "กำลังโหลดราคา" @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "ของขวัญที่ซื้อแล้ว" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "การซื้อถูกปิดใช้งานสำหรับบัญชีนี้" #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "การซื้อถูกปิดใช้งานสำหรับบัญชีนี้ โปรดติดต่อ {supportEmail} หากคิดว่าไม่ถูกต้อง" #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "ไม่สามารถซื้อได้" @@ -31635,7 +31607,7 @@ msgstr "เกิดข้อผิดพลาดขณะโหลดบัน #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "เกิดข้อผิดพลาดขณะส่งอีเมลยืนยันของคุณ โปรดลองอีกครั้งในภายหลัง" #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "เกิดข้อผิดพลาดขณะเริ่มต้นการชำระเงิน โปรดลองอีกครั้งในภายหลัง" @@ -32672,16 +32644,6 @@ msgstr "ปิดการติดตาม" msgid "Strip tracking parameters from URLs" msgstr "ลบพารามิเตอร์ติดตามออกจาก URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe ไม่สามารถยืนยันบัตรนี้สำหรับการกำหนดราคาในท้องถิ่นได้ โปรดใช้บัตรอื่น หรือกลับไปที่ {productName} และเลือกวิธีการชำระเงินอื่น" - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe รายงานว่าบัตรนี้ออกในประเทศ {countryName} หากต้องการชำระด้วยสกุลเงินท้องถิ่นนี้ โปรดใช้บัตรที่ออกในประเทศตามที่อยู่เรียกเก็บเงินของคุณ หรือกลับไปที่ {productName} แล้วเลือกวิธีชำระเงินอื่น" - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "การสมัครสมาชิก" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "มีการสมัครสมาชิกอยู่แล้ว" @@ -34051,11 +34013,6 @@ msgstr "การโทรนี้มีการเข้ารหัสจา msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "การดำเนินการนี้ไม่สามารถเลิกทำได้ การลบแอปพลิเคชันจะลบบอทของแอปพลิเคชันนั้นด้วย" -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "บัตรนี้ไม่ตรงกับประเทศที่คุณใช้เรียกเก็บเงิน จึงไม่สามารถใช้กับสกุลเงินในภูมิภาคนี้ได้ โปรดใช้บัตรท้องถิ่น หรือกลับไปที่ {productName} และเลือกวิธีการชำระเงินอื่น" - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "ตัวเลือกนี้ใช้ได้เฉพาะในแอปเดสก์ท็อปเท่านั้น" #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "แพ็กเกจนี้ไม่พร้อมใช้งาน โปรดติดต่อฝ่ายสนับสนุน" @@ -34709,11 +34666,6 @@ msgstr "ผู้ใช้รายนี้ไม่มีอยู่อีก msgid "This user was force-added to this community by a platform administrator." msgstr "ผู้ดูแลแพลตฟอร์มบังคับเพิ่มผู้ใช้รายนี้เข้าคอมมูนิตี้นี้" -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "เซสชันการยืนยันนี้หมดอายุแล้ว กลับไปที่ {productName} และเริ่มการชำระเงินอีกครั้ง" - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "ใช้ {everyoneMention}/{hereMention} และ {rolesMention} ได้" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "ใช้ {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "ใช้ {query} ในตำแหน่งที่ต้องการแทรกข้อความเพื่อแปล" #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "ใช้ {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "ใช้ค่าจริง" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "ใช้วิธีอื่น" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "ใช้รูปแบบเวลาตามภาษาของเบราว์เซอร์" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "ใช้บัตร" @@ -37099,36 +37051,6 @@ msgstr "ใช้ธีมมืดแบบเดิม (พาเลตสี msgid "Use light theme" msgstr "ใช้ธีมสว่าง" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "ใช้บัตรในประเทศ" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "ใช้บัตรในประเทศเพื่อยืนยันบัตรที่ออกในบราซิลก่อนชำระเงินเป็นสกุลเงิน BRL เลือกวิธีอื่นหากต้องการลอง {pixPaymentMethod} หรือวิธีการชำระเงินอื่นๆ ที่ {paymentProviderName} มีให้ในหน้าถัดไป" - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "ใช้บัตรในประเทศเพื่อยืนยันบัตรที่ออกในอินเดียก่อนชำระเงินเป็นสกุลเงิน INR เลือกวิธีอื่นหากคุณต้องการลอง {upiPaymentMethod} หรือวิธีการชำระเงินอื่นๆ ที่ {paymentProviderName} มีให้ในหน้าถัดไป" - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "ใช้บัตรในประเทศเพื่อยืนยันบัตรที่ออกในโปแลนด์ก่อนชำระเงินเป็นสกุลเงิน PLN {blikPaymentMethod} ไม่รองรับการสมัครสมาชิกในการชำระเงินของ {paymentProviderName} ดังนั้นโปรดดำเนินการต่อเฉพาะในกรณีที่คุณต้องการหน้าจอการชำระเงินมาตรฐานของ {paymentProviderName2} แทน" - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "ใช้บัตรในประเทศเพื่อยืนยันบัตรที่ออกในตุรกีก่อนชำระเงินเป็นสกุลเงิน TRY ไม่มีวิธีการสมัครสมาชิกในประเทศแบบใช้แอปที่นี่ ดังนั้นการดำเนินการต่อจะนำคุณไปยังหน้าจอการชำระเงินมาตรฐานของ {paymentProviderName}" - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "ใช้บัตรในประเทศเพื่อยืนยันบัตรที่ออกในประเทศที่เรียกเก็บเงินของคุณก่อนชำระเงิน เลือกวิธีอื่นสำหรับวิธีการชำระเงินอื่นๆ ที่ {paymentProviderName} มีให้ในหน้าถัดไป" - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "การยืนยันและข้อจำกัดการเ msgid "Verification barrier" msgstr "การยืนยันตัวตน" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "ยกเลิกการยืนยันแล้ว" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "ส่งอีเมลยืนยันแล้ว โปรดต #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "การยืนยันหมดอายุแล้ว" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "ยืนยันตัวตนไม่สำเร็จ" @@ -37622,11 +37538,6 @@ msgstr "คอมมูนิตี้ที่ยืนยันแล้ว" msgid "Verify" msgstr "ยืนยัน" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "ยืนยันบัตร" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "ยืนยันรหัส" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "ยืนยันอีเมลของคุณก่อนส่งคำขอเป็นเพื่อน" #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "ยืนยันอีเมลของคุณก่อน" @@ -37744,10 +37655,6 @@ msgstr "ยืนยันอีเมลของคุณเพื่อซื msgid "Verify your email to start DMs." msgstr "ยืนยันอีเมลของคุณเพื่อเริ่มส่งข้อความส่วนตัว" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "กำลังยืนยันบัตร" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "กำลังยืนยันรหัส…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "แถบแจ้งเตือน 2FA สำหรับ Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary มีสิทธิ์เข้าถึงถาวรอยู่แล้ว จึงไม่จำเป็นต้องสมัครสมาชิกแบบต่ออายุอัตโนมัติ คุณยังสามารถซื้อของขวัญให้ผู้อื่นได้" @@ -38611,11 +38518,6 @@ msgstr "xdg-desktop-portal ของ Wayland เป็นเจ้าของ msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "xdg-desktop-portal ของ Wayland เป็นเจ้าของตัวเลือกและแสดงทุกหน้าต่างและจอแสดงผลรวมกัน ไม่มีแฟล็กที่กรองให้แสดงเฉพาะหน้าต่าง กด \"เปิดตัวเลือกของระบบ\" จากนั้นเลือกหน้าต่างที่นั่นเพื่อรับเสียงเฉพาะแอป" -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "เราไม่สามารถยืนยันบัตรของคุณได้ในขณะนี้ โปรดรีเฟรชหน้านี้หรือกลับไปที่ {productName} แล้วลองอีกครั้ง" - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "เราไม่สามารถนำบัญชีนั้นออกได้ โปรดลองอีกครั้ง" #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} สำหรับบัญชีนี้แล้ว จัดการได้ในพอร์ทัลการเรียกเก็บเงินที่ปลอดภัยเพื่ออัปเดตรายละเอียดการชำระเงินหรือตรวจสอบสถานะการต่ออายุ หากคุณเพิ่งชำระเงิน โปรดรอสักครู่แล้วเปิดหน้านี้อีกครั้ง" @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "ตอนนี้คุณเป็นนักพัฒนาแล้ว!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "คุณกำลังจะไปยัง {paymentProviderName} เพื่อดำเนินการชำระเงินให้เสร็จสมบูรณ์ โปรดกลับมาที่ {productName} เมื่อคุณชำระเงินเรียบร้อยแล้ว" @@ -39488,7 +39390,7 @@ msgstr "คุณสามารถปิดหน้าต่างนี้ไ msgid "You can close this tab" msgstr "คุณสามารถปิดแท็บนี้ได้" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "ตอนนี้คุณสามารถปิดแท็บนี้และกลับไปที่แอปได้เลย" @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "คุณต้องยืนยันอีเมลก่อนจึงจะสามารถเริ่มข้อความส่วนตัวได้" #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "คุณต้องยืนยันอีเมลก่อนจึงจะสามารถซื้อ {premiumProductFullName} ได้" @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "คุณเป็นเพื่อนกับผู้ใช้นี้อยู่แล้ว" #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "คุณเป็น Visionary อยู่แล้ว" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "คุณถูกจำกัดอัตราการใช้งาน โปรดรอ {duration} ก่อนลองอีกครั้ง" #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "คุณกำลังใช้การสมัครสมาชิกแบบของขวัญ ซึ่งจะไม่มีการต่ออายุ คุณสามารถแลกรหัสของขวัญเพิ่มเพื่อขยายระยะเวลาได้ การสมัครสมาชิกแบบต่ออายุอัตโนมัติจะสามารถเริ่มต้นได้หลังจากระยะเวลาของขวัญของคุณสิ้นสุดลง" @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "คุณดูการกล่าวถึงล่าสุดทั้งหมดแล้ว การกล่าวถึงใหม่จะแสดงที่นี่เร็วๆ นี้" #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "การสมัครสมาชิก {premiumProductFullName} ของคุณเรียกเก็บเงินผ่าน {storeName} จัดการได้ในบัญชี {storeName} ของคุณเพื่อเปลี่ยนแพ็กเกจหรือตรวจสอบสถานะการต่ออายุ" @@ -40316,14 +40218,6 @@ msgstr "ใบสมัครของคุณอยู่ระหว่าง msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "เบราว์เซอร์ของคุณต้องมีการโต้ตอบจากผู้ใช้ก่อนจึงจะเล่นเสียงได้ คลิกปุ่มด้านล่างเพื่อเปิดใช้งานการแชทด้วยเสียง" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "กำลังตรวจสอบบัตรของคุณเพื่อดูราคาในพื้นที่ โดยปกติจะใช้เวลาสักครู่" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "บัตรของคุณใช้ได้ กำลังนำคุณไปยังหน้าชำระเงิน" - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "การซื้อล่าสุดของคุณไม่อย msgid "Your new nickname, or leave blank to reset it." msgstr "ชื่อเล่นใหม่ของคุณ หรือเว้นว่างไว้เพื่อรีเซ็ต" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "ยกเลิกการชำระเงินแล้ว ปิดแท็บนี้แล้วกลับไปที่แอปได้เลย" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "ชำระเงินสำเร็จแล้ว ปิดแท็บนี้แล้วกลับไปที่แอปได้เลย" diff --git a/fluxer_app/src/features/i18n/locales/tr/messages.po b/fluxer_app/src/features/i18n/locales/tr/messages.po index 5f5894174..61efb9df6 100644 --- a/fluxer_app/src/features/i18n/locales/tr/messages.po +++ b/fluxer_app/src/features/i18n/locales/tr/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# geçersiz kılma} other {# geçersiz kıl msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} ödemeleri güvenli bir şekilde işler." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} önce kartınızın yerelleştirilmiş fiyatlandırma için uygun olup olmadığını doğrulayacak, ardından ödemeye devam edecektir. İşlemi tamamladıktan sonra {productName} uygulamasına geri dönün." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Tüm DM'ler + topluluklar" msgid "All DMs only" msgstr "Yalnızca tüm DM'ler" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Her şey hazır" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Geçersiz bir durum sağlandı. Bu sekmeyi kapatıp uygulamaya geri dönebilirsiniz." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Geçersiz bir durum sağlandı. Bu sekmeyi kapatıp uygulamaya geri dönebilirsiniz." @@ -6739,14 +6734,6 @@ msgstr "Kart hizalaması" msgid "Card alignment controls" msgstr "Kart hizalama kontrolleri" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Kart uygun değil" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Kart doğrulama iptal edildi. Bu sekmeyi kapatıp uygulamaya dönebilirsiniz." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Ödeme" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Bu hesap için ödeme engellendi." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Bu hesap için ödeme engellendi. Yardıma ihtiyacınız olursa {supportEmail} ile iletişime geçin." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Ödeme yapılamıyor" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Uygulama genelinde saatlerin nasıl görüntüleneceğini seçin" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Bu abonelik için nasıl ödeme yapmak istediğinizi seçin." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Alan sahipliğini kanıtlamak için aşağıdaki yöntemlerden birini seçin. Yalnızca birini tamamlamanız yeterlidir." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Ödeme yöntemi seçin" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Yetişkin içeriği kontrolünü tamamla" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Ödemeyi tamamla" @@ -9409,11 +9396,6 @@ msgstr "Bağlam menüleri sol tıklama (düğmelerde) veya sağ tıklama (diğer msgid "Continue" msgstr "Devam et" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Ödeme ekranına devam et" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Arama sonucu açılamadı" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "{blueskyProviderName} yetkilendirmesi başlatılamadı" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Ödeme başlatılamadı" @@ -18574,7 +18556,7 @@ msgstr "Geçersiz redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Geçersiz durum" @@ -20067,11 +20049,6 @@ msgstr "Yerel saat biçimi" msgid "Localization" msgstr "Yerelleştirme" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Yerelleştirilmiş kart doğrulaması şu anda kullanılamıyor. Lütfen daha sonra tekrar deneyin." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Diğer" msgid "Other devices" msgstr "Diğer cihazlar" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Diğer yöntemler" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Tek sefer ödeyin ve paylaşmak için bir hediye bağlantısı alın. Hediyeler asla yenilenmez." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Brezilya bankanızdan yinelenen ödemeleri doğrudan yetkilendirmek için {pixPaymentMethod} Automático ile ödeyin. Ya da {paymentProviderName} ekranında kredi kartı girmek için \"Kart kullan\" seçeneğini belirleyin." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Hindistan bankanızdan RBI uyumlu bir e-ödeme talimatı oluşturmak için {upiPaymentMethod} ile ödeyin. Ya da {paymentProviderName} ekranında kredi kartı girmek için \"Kart kullan\" seçeneğini belirleyin." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Ödeme iptal edildi" @@ -24980,7 +24952,7 @@ msgstr "Ödeme iptal edildi" msgid "Payment method" msgstr "Ödeme yöntemi" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Ödeme başarılı" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Fiyatlandırma" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Fiyatlar hâlâ yükleniyor." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Satın alınan hediyeler" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Bu hesap için satın alımlar devre dışı bırakıldı." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Bu hesap için satın alımlar devre dışı bırakıldı. Bir sorun olduğunu düşünüyorsanız {supportEmail} ile iletişime geçin." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Satın alımlar kullanılamıyor" @@ -31635,7 +31607,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 grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Doğrulama e-postanızı gönderirken bir sorun oluştu. Lütfen bir süre sonra tekrar deneyin." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Ödeme başlatılırken bir sorun oluştu. Lütfen bir süre sonra tekrar deneyin." @@ -32672,16 +32644,6 @@ msgstr "İzlemeyi kaldır" msgid "Strip tracking parameters from URLs" msgstr "URL'lerden izleme parametrelerini kaldır" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe, yerel fiyatlandırma için bu kartı doğrulayamadı. Başka bir kart kullanın veya {productName} uygulamasına dönüp başka bir ödeme yöntemi seçin." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe, bu kartın {countryName} ülkesinde verildiğini bildirdi. Bu yerel para biriminde ödeme yapmak için fatura ülkenizde verilmiş bir kart kullanın veya {productName} uygulamasına dönüp başka bir ödeme yöntemi seçin." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Abonelik" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Abonelik zaten mevcut" @@ -34051,11 +34013,6 @@ msgstr "Bu arama uçtan uca şifrelidir." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Bu işlem geri alınamaz. Uygulamayı kaldırmak, botunu da siler." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Bu kart, fatura adresinizin bulunduğu ülkeyle eşleşmiyor, bu nedenle bu yerel para birimi için kullanılamaz. Yerel bir kart kullanın veya {productName} uygulamasına dönüp başka bir ödeme yöntemi seçin." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Bu seçici yalnızca masaüstü uygulamasında kullanılabilir." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Bu plan kullanılamıyor. Destekle iletişime geçin." @@ -34709,11 +34666,6 @@ msgstr "Bu kullanıcı artık mevcut değil. Sayfayı yenileyip tekrar deneyin." msgid "This user was force-added to this community by a platform administrator." msgstr "Bu kullanıcı bir platform yöneticisi tarafından bu topluluğa zorla eklendi." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Bu doğrulama oturumunun süresi doldu. {productName} uygulamasına dönün ve ödeme işlemine yeniden başlayın." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "{everyoneMention}/{hereMention} ve {rolesMention} kullanın" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod} kullan" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Çevrilecek metnin ekleneceği yere {query} yazın." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod} kullan" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Gerçek değeri kullan" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Alternatif yöntem kullan" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Saat biçimi için tarayıcı yerel ayarını kullan" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Kart kullan" @@ -37099,36 +37051,6 @@ msgstr "Eski koyu temayı kullan (özgün nötr gri palet)" msgid "Use light theme" msgstr "Açık tema kullan" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Yerel kart kullan" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Brezilya'da düzenlenmiş bir kartı doğrulamak için ücretli BRL ödeme işleminden önce yerel kartı kullanın. Bir sonraki ekranda {pixPaymentMethod} veya {paymentProviderName} tarafından sunulan başka bir ödeme yöntemini denemek isterseniz diğer yöntemleri seçin." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Hindistan'da düzenlenmiş bir kartı ücretli INR ödeme işleminden önce doğrulamak için yerel kartı kullanın. Sonraki ekranda {upiPaymentMethod} veya {paymentProviderName} tarafından sunulan başka bir ödeme yöntemini denemek isterseniz diğer yöntemleri seçin." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Ücretli PLN ödemesinden önce Polonya'da düzenlenmiş bir kartı doğrulamak için yerel kartı kullanın. {blikPaymentMethod}, {paymentProviderName} ödeme ekranında abonelikleri desteklemez. Bu nedenle yalnızca {paymentProviderName2} standart ödeme ekranını kullanmak istiyorsanız devam edin." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Ücretli TRY ödemesine geçmeden önce Türkiye'de düzenlenmiş bir kartı doğrulamak için yerel kartınızı kullanın. Burada uygulama tabanlı yerel bir abonelik yöntemi bulunmadığından, devam ettiğinizde {paymentProviderName} standart ödeme ekranına yönlendirileceksiniz." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Ücretli ödeme işleminden önce fatura ülkenizde düzenlenmiş bir kartı doğrulamak için yerel kartınızı kullanın. Sonraki ekranda {paymentProviderName} tarafından sunulan başka bir ödeme yöntemini kullanmak isterseniz diğer yöntemleri seçin." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Doğrulama ve üyelik engelleri" msgid "Verification barrier" msgstr "Doğrulama engeli" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Doğrulama iptal edildi" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Doğrulama e-postası gönderildi. Gelen kutunuzu kontrol edin." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Doğrulamanın süresi doldu" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Doğrulama başarısız oldu" @@ -37622,11 +37538,6 @@ msgstr "Onaylı topluluk" msgid "Verify" msgstr "Doğrula" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Kartı doğrula" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Kodu doğrula" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Arkadaşlık isteği göndermeden önce e-postanızı doğrulayın." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Önce e-postanızı doğrulayın" @@ -37744,10 +37655,6 @@ msgstr "{premiumProductFullName} satın almak için e-postanızı doğrulayın." msgid "Verify your email to start DMs." msgstr "DM başlatmak için e-postanızı doğrulayın." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Kart doğrulanıyor" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Kod doğrulanıyor…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 2FA bildirim çubuğu" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary zaten kalıcı erişim içerir, bu yüzden yinelenen bir aboneliğe gerek yok. Yine de başkalarına hediye alabilirsiniz." @@ -38611,11 +38518,6 @@ msgstr "Seçiciyi Wayland'ın xdg-desktop-portal'ı yönetir ve tüm pencereleri msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Seçiciyi Wayland'ın xdg-desktop-portal'ı yönetir ve tüm pencereleri ve ekranları bir arada gösterir. Onu yalnızca pencerelerle sınırlayan bir seçenek yok. \"Sistem seçiciyi aç\" düğmesine basın, ardından uygulama başına ses almak için oradan bir pencere seçin." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Kartınızı şu anda onaylayamadık. Lütfen bu sayfayı yenileyin veya {productName} uygulamasına dönüp tekrar deneyin." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Bu hesabı kaldıramadık. Lütfen tekrar deneyin." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Artık bir geliştiricisiniz!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Ödemeyi tamamlamak için şimdi {paymentProviderName} sayfasına yönlendiriliyorsunuz. Tamamladıktan sonra {productName} uygulamasına geri dönün." @@ -39488,7 +39390,7 @@ msgstr "Bu pencereyi kapatabilirsiniz. İçe aktarma işlemi arka planda devam e msgid "You can close this tab" msgstr "Bu sekmeyi kapatabilirsiniz" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Bu sekmeyi kapatıp uygulamaya geri dönebilirsiniz." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Doğrudan mesaj göndermeden önce e-posta adresinizi doğrulamanız gerekiyor." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "{premiumProductFullName} satın almadan önce e-postanızı doğrulamanız gerekiyor." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Bu kullanıcıyla zaten arkadaşsınız." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Zaten Visionary'siniz" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Hız sınırına takıldınız. Tekrar denemeden önce {duration} bekleyin." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Şu anda hediye aboneliğindesiniz. Otomatik olarak yenilenmeyecektir. Süreyi uzatmak için daha fazla hediye kodu kullanabilirsiniz. Hediye süreniz bittikten sonra yinelenen abonelikler başlatılabilir." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Tüm son bahsetmelerinizi gördünüz. Yakında buraya daha fazlası gelecek." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "{premiumProductFullName} aboneliğiniz {storeName} üzerinden faturalandırılır. Planınızı değiştirmek veya yenileme durumunu kontrol etmek için {storeName} hesabınızdan yönetin." @@ -40316,14 +40218,6 @@ msgstr "Başvurunuz incelenmeyi bekliyor. İlan ayrıntılarınızı yine de gü msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Tarayıcınız, ses çalınabilmesi için önce kullanıcı etkileşimi gerektiriyor. Sesli sohbeti etkinleştirmek için aşağıdaki düğmeye tıklayın." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Kartınız yerelleştirilmiş fiyatlandırma için kontrol ediliyor. Bu genellikle kısa sürer." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Kartınız uygun. Şimdi ödeme sayfasına yönlendiriliyorsunuz." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Son satın alımınız artık iade süresi içinde değil. Fatura sorunl msgid "Your new nickname, or leave blank to reset it." msgstr "Yeni takma adınız veya sıfırlamak için boş bırakın." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Ödemeniz iptal edildi. Şimdi bu sekmeyi kapatıp uygulamaya dönebilirsiniz." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Ödemeniz başarılı oldu. Şimdi bu sekmeyi kapatıp uygulamaya dönebilirsiniz." diff --git a/fluxer_app/src/features/i18n/locales/uk/messages.po b/fluxer_app/src/features/i18n/locales/uk/messages.po index 425455a04..7f61d2f09 100644 --- a/fluxer_app/src/features/i18n/locales/uk/messages.po +++ b/fluxer_app/src/features/i18n/locales/uk/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# перевизначення} few {# пе msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} безпечно обробляє платежі." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} спочатку перевірить, чи ваша картка підходить для локалізованого ціноутворення, а потім перенаправить вас до оплати. Поверніться до {productName}, щойно завершите." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Усі приватні чати + спільноти" msgid "All DMs only" msgstr "Лише всі приватні чати" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Готово" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Надано недійсний статус. Ви можете закрити цю вкладку та повернутися до застосунку." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Надано недійсний статус. Тепер ви можете закрити цю вкладку та повернутися до застосунку." @@ -6739,14 +6734,6 @@ msgstr "Вирівнювання картки" msgid "Card alignment controls" msgstr "Елементи керування вирівнюванням картки" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Картка не підходить" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Перевірку картки скасовано. Можете закрити цю вкладку та повернутися до застосунку." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Оформлення замовлення" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Оформлення замовлення для цього облікового запису заблоковано." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Оформлення замовлення заблоковано для цього облікового запису. Зверніться до {supportEmail}, якщо вам потрібна допомога." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Оформлення замовлення недоступне" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Виберіть, як відображатиметься час у застосунку" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Виберіть, як ви хочете оплатити цю підписку." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Оберіть один зі способів підтвердження права власності на домен. Достатньо виконати лише один." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Виберіть спосіб оплати" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Пройти перевірку вмісту для дорослих" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Завершити оплату" @@ -9409,11 +9396,6 @@ msgstr "Контекстні меню можна відкрити лівим к msgid "Continue" msgstr "Продовжити" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Перейти до оплати" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Не вдалося відкрити результат пошуку" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Не вдалося розпочати авторизацію {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Не вдалося розпочати оформлення замовлення" @@ -18574,7 +18556,7 @@ msgstr "Недійсний redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Недійсний статус" @@ -20067,11 +20049,6 @@ msgstr "Формат часу в регіоні" msgid "Localization" msgstr "Локалізація" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Локалізована перевірка картки зараз недоступна. Спробуйте пізніше." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Інше" msgid "Other devices" msgstr "Інші пристрої" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Інші способи" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Сплатіть один раз і отримайте подарункове посилання для надсилання. Подарунки ніколи не поновлюються." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Сплачуйте за допомогою {pixPaymentMethod} Automático, щоб дозволити регулярні списання безпосередньо з вашого бразильського банку. Або виберіть «Використати картку», щоб ввести дані кредитної картки на наступному екрані {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Сплачуйте за допомогою {upiPaymentMethod}, щоб налаштувати електронний мандат, сумісний з RBI, у вашому індійському банку. Або виберіть «Використати картку», щоб ввести дані кредитної картки на наступному екрані {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Платіж скасовано" @@ -24980,7 +24952,7 @@ msgstr "Платіж скасовано" msgid "Payment method" msgstr "Спосіб оплати" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Оплата успішна" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Ціни" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Ціни ще завантажуються." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Придбані подарунки" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Покупки для цього облікового запису вимкнено." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Покупки для цього облікового запису вимкнено. Зверніться до {supportEmail}, якщо це помилка." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Покупки недоступні" @@ -31635,7 +31607,7 @@ msgstr "Під час завантаження журналу дій стала #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Під час надсилання листа для підтвердження сталася помилка. Спробуйте ще раз за мить." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Під час оформлення замовлення сталася помилка. Спробуйте ще раз за мить." @@ -32672,16 +32644,6 @@ msgstr "Видалення трекерів" msgid "Strip tracking parameters from URLs" msgstr "Видаляти параметри відстеження з посилань" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe не зміг перевірити цю картку для локалізованих цін. Спробуйте іншу картку або поверніться до {productName} та виберіть інший спосіб оплати." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe повідомив, що картка випущена в країні {countryName}. Щоб оплатити в цій локальній валюті, скористайтеся карткою, випущеною у вашій країні виставлення рахунків, або поверніться до {productName} та виберіть інший спосіб оплати." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Підписка" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Підписка вже існує" @@ -34051,11 +34013,6 @@ msgstr "Цей дзвінок наскрізно зашифровано." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Цю дію не можна скасувати. Видалення застосунку також призведе до видалення його бота." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Ця картка не відповідає вашій країні виставлення рахунків, тому її не можна використовувати для цієї локалізованої валюти. Скористайтеся місцевою карткою або поверніться до {productName} та виберіть інший спосіб оплати." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Це вікно вибору доступне лише в десктопному застосунку." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Цей тарифний план недоступний. Зверніться до служби підтримки." @@ -34709,11 +34666,6 @@ msgstr "Цього користувача більше не існує. Онов msgid "This user was force-added to this community by a platform administrator." msgstr "Цього користувача примусово додав до спільноти адміністратор платформи." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Термін дії сеансу перевірки закінчився. Поверніться до {productName} і почніть оформлення замовлення знову." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Використовувати {everyoneMention}/{hereMention} та {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Використати {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Використовуйте {query} там, де має бути вставлено текст для перекладу." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Використати {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Використати фактичне значення" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Використати інший спосіб" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Використовувати регіональні налаштування браузера для формату часу" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Використати картку" @@ -37099,36 +37051,6 @@ msgstr "Використовувати стару темну тему (поча msgid "Use light theme" msgstr "Використовувати світлу тему" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Використати місцеву картку" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Використовуйте місцеву картку, щоб перевірити картку, випущену в Бразилії, перед оплатою в BRL. Виберіть інші способи, якщо бажаєте спробувати {pixPaymentMethod} або інший спосіб оплати, який {paymentProviderName} пропонує на наступному екрані." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Використовуйте місцеву картку, щоб перевірити картку, випущену в Індії, перед оплатою в INR. Виберіть інші способи, якщо бажаєте спробувати {upiPaymentMethod} або інший спосіб оплати, який {paymentProviderName} пропонує на наступному екрані." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Використовуйте місцеву картку, щоб перевірити картку, випущену в Польщі, перед оплатою в PLN. {blikPaymentMethod} не підтримує підписки в системі оплати {paymentProviderName}, тому продовжуйте, лише якщо натомість хочете скористатися стандартним екраном оплати {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Використовуйте місцеву картку, щоб перевірити картку, випущену в Туреччині, перед оплатою в TRY. Тут немає локального способу оплати підписки через застосунок, тому після продовження ви перейдете на стандартний екран оплати {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Використовуйте місцеву картку, щоб перевірити картку, випущену у вашій країні для виставлення рахунків, перед оплатою. Виберіть інші способи, щоб скористатися будь-яким іншим способом оплати, який {paymentProviderName} пропонує на наступному екрані." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Бар'єри перевірки та членства" msgid "Verification barrier" msgstr "Бар'єр перевірки" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Перевірку скасовано" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Лист із підтвердженням надіслано. Пере #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Термін дії підтвердження закінчився" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Не вдалося підтвердити" @@ -37622,11 +37538,6 @@ msgstr "Верифікована спільнота" msgid "Verify" msgstr "Підтвердити" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Перевірити картку" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Підтвердити код" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Підтвердьте свою електронну пошту, перш ніж надсилати запити на додавання в друзі." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Спершу підтвердьте свою електронну пошту" @@ -37744,10 +37655,6 @@ msgstr "Підтвердьте свою електронну пошту, щоб msgid "Verify your email to start DMs." msgstr "Підтвердьте свою електронну пошту, щоб писати особисті повідомлення." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Перевірка картки" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Перевірка коду…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Банер Visionary 2FA" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary вже надає постійний доступ, тому регулярна підписка не потрібна. Ви й надалі можете купувати подарунки для інших." @@ -38611,11 +38518,6 @@ msgstr "У Wayland вікном вибору керує xdg-desktop-portal, як msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "У Wayland вікном вибору керує xdg-desktop-portal, який показує всі вікна й екрани разом. Немає прапорця, щоб обмежити його лише вікнами. Натисніть «Відкрити системне вікно вибору», а потім виберіть там вікно, щоб отримати звук окремої програми." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Наразі ми не можемо підтвердити вашу картку. Оновіть цю сторінку або поверніться до {productName} і спробуйте ще раз." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Не вдалося видалити обліковий запис. Спробуйте ще раз." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} для цього облікового запису. Керуйте нею на захищеному платіжному порталі, щоб оновити платіжні дані або перевірити статус поновлення. Якщо ви щойно здійснили оплату, зачекайте хвилину та знову відкрийте цю сторінку." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Тепер ви розробник!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Зараз ви перейдете до {paymentProviderName}, щоб завершити платіж. Поверніться до {productName}, щойно завершите його." @@ -39488,7 +39390,7 @@ msgstr "Можете закрити це вікно. Імпорт продовж msgid "You can close this tab" msgstr "Ви можете закрити цю вкладку" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Тепер ви можете закрити цю вкладку та повернутися до застосунку." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Щоб розпочати особисте листування, потрібно підтвердити свою електронну адресу." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Щоб придбати {premiumProductFullName}, потрібно підтвердити свою електронну адресу." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Ви вже друзі з цим користувачем." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Ви вже Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Ви перевищили ліміт запитів. Зачекайте {duration}, перш ніж повторити спробу." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Зараз у вас подарункова підписка. Вона не буде поновлюватися. Ви можете активувати більше подарункових кодів, щоб продовжити її. Регулярні підписки можна оформити після закінчення терміну дії подарунка." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Ви переглянули всі останні згадки. Нові з'являться тут незабаром." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Ваша підписка {premiumProductFullName} оплачується через {storeName}. Керуйте нею у своєму обліковому записі {storeName}, щоб змінити план або перевірити статус поновлення." @@ -40316,14 +40218,6 @@ msgstr "Ваша заявка очікує на розгляд. Ви все ще msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Ваш браузер вимагає взаємодії з користувачем, перш ніж можна буде відтворити аудіо. Натисніть кнопку нижче, щоб увімкнути голосовий чат." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Ми перевіряємо вашу картку, щоб визначити локалізовані ціни. Зазвичай це триває недовго." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Ваша картка підходить. Перенаправляємо вас на сторінку оплати." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Ваша остання покупка більше не підляга msgid "Your new nickname, or leave blank to reset it." msgstr "Ваш новий псевдонім або залиште порожнім, щоб скинути його." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Ваш платіж скасовано. Тепер ви можете закрити цю вкладку та повернутися до застосунку." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Ваш платіж пройшов успішно. Тепер ви можете закрити цю вкладку та повернутися до застосунку." diff --git a/fluxer_app/src/features/i18n/locales/vi/messages.po b/fluxer_app/src/features/i18n/locales/vi/messages.po index be3e842fd..968bb587b 100644 --- a/fluxer_app/src/features/i18n/locales/vi/messages.po +++ b/fluxer_app/src/features/i18n/locales/vi/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# ghi đè} other {# ghi đè}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} xử lý thanh toán một cách bảo mật." -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} trước tiên sẽ xác minh xem thẻ của bạn có đủ điều kiện áp dụng giá theo khu vực hay không, sau đó chuyển bạn sang bước thanh toán. Quay lại {productName} sau khi bạn hoàn tất." - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "Tất cả tin nhắn trực tiếp + cộng đồng" msgid "All DMs only" msgstr "Chỉ tin nhắn trực tiếp" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "Đã xong" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "Trạng thái không hợp lệ. Bạn có thể đóng tab này và quay lại ứng dụng." #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "Trạng thái không hợp lệ. Giờ bạn có thể đóng tab này và quay lại ứng dụng." @@ -6739,14 +6734,6 @@ msgstr "Căn chỉnh thẻ" msgid "Card alignment controls" msgstr "Điều khiển căn chỉnh thẻ" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "Thẻ không đủ điều kiện" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "Đã hủy xác minh thẻ. Bạn có thể đóng tab này và quay lại ứng dụng." - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "Thanh toán" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "Thanh toán bị chặn cho tài khoản này." #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "Tài khoản này đã bị chặn thanh toán. Liên hệ {supportEmail} nếu bạn cần trợ giúp." #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "Thanh toán không khả dụng" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "Chọn cách hiển thị thời gian trong ứng dụng" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "Chọn cách bạn muốn thanh toán cho gói đăng ký này." @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "Chọn một trong các phương thức bên dưới để chứng minh quyền sở hữu miền. Bạn chỉ cần hoàn thành một phương thức." #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "Chọn phương thức thanh toán" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "Hoàn tất kiểm tra nội dung người lớn" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "Hoàn tất thanh toán" @@ -9409,11 +9396,6 @@ msgstr "Bạn có thể mở menu ngữ cảnh bằng cách nhấp chuột trái msgid "Continue" msgstr "Tiếp tục" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "Tiếp tục thanh toán" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "Không thể mở kết quả tìm kiếm" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "Không thể bắt đầu ủy quyền {blueskyProviderName}" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "Không thể bắt đầu thanh toán" @@ -18574,7 +18556,7 @@ msgstr "redirect_uri không hợp lệ" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "Trạng thái không hợp lệ" @@ -20067,11 +20049,6 @@ msgstr "Định dạng thời gian theo vùng" msgid "Localization" msgstr "Bản địa hóa" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "Xác minh thẻ nội địa hiện không khả dụng. Hãy thử lại sau." - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "Khác" msgid "Other devices" msgstr "Thiết bị khác" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "Phương thức khác" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "Thanh toán một lần và nhận liên kết quà tặng để chia sẻ. Quà tặng không bao giờ gia hạn." #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Thanh toán bằng {pixPaymentMethod} Automático để ủy quyền các khoản phí định kỳ trực tiếp từ ngân hàng Brazil của bạn. Hoặc chọn \"Dùng thẻ\" để nhập thẻ tín dụng trên màn hình tiếp theo của {paymentProviderName}." #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "Thanh toán bằng {upiPaymentMethod} để thiết lập ủy quyền điện tử tuân thủ RBI từ ngân hàng Ấn Độ của bạn. Hoặc chọn \"Dùng thẻ\" để nhập thẻ tín dụng trên màn hình tiếp theo của {paymentProviderName}." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "Đã hủy thanh toán" @@ -24980,7 +24952,7 @@ msgstr "Đã hủy thanh toán" msgid "Payment method" msgstr "Phương thức thanh toán" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "Thanh toán thành công" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "Bảng giá" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "Bảng giá vẫn đang tải." @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "Quà đã mua" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "Giao dịch mua hàng đã bị tắt cho tài khoản này." #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "Tính năng mua hàng đã bị tắt đối với tài khoản này. Liên hệ {supportEmail} nếu bạn cho rằng đây là lỗi." #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "Tính năng mua hàng không khả dụng" @@ -31635,7 +31607,7 @@ msgstr "Đã xảy ra lỗi khi tải nhật ký hoạt động." #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "Đã xảy ra lỗi khi gửi email xác minh của bạn. Vui lòng thử lại sau giây lát." #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Đã xảy ra lỗi khi bắt đầu thanh toán. Vui lòng thử lại sau giây lát." @@ -32672,16 +32644,6 @@ msgstr "Xóa theo dõi" msgid "Strip tracking parameters from URLs" msgstr "Xóa tham số theo dõi khỏi URL" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe không thể xác minh thẻ này cho mức giá theo khu vực. Hãy dùng thẻ khác hoặc quay lại {productName} và chọn phương thức thanh toán khác." - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe báo cáo thẻ được phát hành tại {countryName}. Để thanh toán bằng loại tiền tệ địa phương này, hãy dùng thẻ được phát hành tại quốc gia thanh toán của bạn hoặc quay lại {productName} và chọn phương thức thanh toán khác." - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "Gói đăng ký" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "Gói đăng ký đã tồn tại" @@ -34051,11 +34013,6 @@ msgstr "Cuộc gọi này được mã hóa đầu cuối." msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "Thao tác này không thể hoàn tác. Việc gỡ ứng dụng cũng sẽ xóa bot của ứng dụng." -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "Thẻ này không khớp với quốc gia thanh toán của bạn, vì vậy không thể dùng cho đơn vị tiền tệ được bản địa hóa này. Hãy dùng thẻ nội địa hoặc quay lại {productName} và chọn phương thức thanh toán khác." - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "Trình chọn này chỉ có trên ứng dụng máy tính." #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "Gói này không khả dụng. Hãy liên hệ bộ phận hỗ trợ." @@ -34709,11 +34666,6 @@ msgstr "Người dùng này không còn tồn tại. Hãy làm mới và thử l msgid "This user was force-added to this community by a platform administrator." msgstr "Người dùng này đã bị quản trị viên nền tảng thêm vào cộng đồng này." -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "Phiên xác minh này đã hết hạn. Quay lại {productName} và bắt đầu thanh toán lại." - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "Sử dụng {everyoneMention}/{hereMention} và {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "Sử dụng {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "Sử dụng {query} tại vị trí cần chèn văn bản để dịch." #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "Sử dụng {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "Dùng giá trị thực" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "Dùng phương thức khác" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "Dùng ngôn ngữ trình duyệt cho định dạng thời gian" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "Dùng thẻ" @@ -37099,36 +37051,6 @@ msgstr "Dùng giao diện tối cũ (bảng màu xám trung tính gốc)" msgid "Use light theme" msgstr "Dùng giao diện sáng" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "Dùng thẻ nội địa" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Sử dụng thẻ nội địa để xác minh thẻ được phát hành ở Brazil trước khi thanh toán bằng BRL. Chọn các phương thức khác nếu bạn muốn thử {pixPaymentMethod} hoặc một phương thức thanh toán khác mà {paymentProviderName} cung cấp trên màn hình tiếp theo." - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "Sử dụng thẻ nội địa để xác minh thẻ được phát hành ở Ấn Độ trước khi thanh toán bằng INR. Chọn các phương thức khác nếu bạn muốn thử {upiPaymentMethod} hoặc một phương thức thanh toán khác mà {paymentProviderName} cung cấp trên màn hình tiếp theo." - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "Sử dụng thẻ nội địa để xác minh thẻ được phát hành tại Ba Lan trước khi thanh toán bằng PLN. {blikPaymentMethod} không hỗ trợ đăng ký trong quy trình thanh toán của {paymentProviderName}, vì vậy chỉ tiếp tục nếu bạn muốn sử dụng màn hình thanh toán tiêu chuẩn của {paymentProviderName2}." - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "Sử dụng thẻ nội địa để xác minh thẻ được phát hành ở Thổ Nhĩ Kỳ trước khi thanh toán bằng TRY. Hiện tại không có phương thức đăng ký nội địa dựa trên ứng dụng tại đây, vì vậy việc tiếp tục sẽ đưa bạn đến màn hình thanh toán tiêu chuẩn của {paymentProviderName}." - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "Sử dụng thẻ nội địa để xác minh thẻ được phát hành ở quốc gia thanh toán của bạn trước khi thanh toán. Chọn các phương thức khác cho bất kỳ phương thức thanh toán nào khác mà {paymentProviderName} cung cấp trên màn hình tiếp theo." - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "Rào cản xác minh & thành viên" msgid "Verification barrier" msgstr "Rào cản xác minh" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "Đã hủy xác minh" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "Đã gửi email xác minh. Kiểm tra hộp thư đến của bạn." #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "Xác minh đã hết hạn" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "Xác minh không thành công" @@ -37622,11 +37538,6 @@ msgstr "Cộng đồng đã xác minh" msgid "Verify" msgstr "Xác minh" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "Xác minh thẻ" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "Xác minh mã" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "Xác minh email của bạn trước khi gửi lời mời kết bạn." #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "Xác minh email của bạn trước" @@ -37744,10 +37655,6 @@ msgstr "Xác minh email của bạn để mua {premiumProductFullName}." msgid "Verify your email to start DMs." msgstr "Xác minh email của bạn để bắt đầu tin nhắn trực tiếp." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "Đang xác minh thẻ" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "Đang xác minh mã…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Thanh thông báo 2FA Visionary" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary đã bao gồm quyền truy cập vĩnh viễn, nên bạn không cần đăng ký định kỳ. Bạn vẫn có thể mua quà tặng cho người khác." @@ -38611,11 +38518,6 @@ msgstr "xdg-desktop-portal của Wayland quản lý trình chọn và hiển th msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "xdg-desktop-portal của Wayland quản lý trình chọn và hiển thị mọi cửa sổ và màn hình cùng lúc. Không có cờ nào lọc để chỉ hiện cửa sổ. Nhấn \"Mở trình chọn của hệ thống\", sau đó chọn một cửa sổ ở đó để có âm thanh riêng cho từng ứng dụng." -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "Chúng tôi không thể xác nhận thẻ của bạn ngay lúc này. Vui lòng làm mới trang này hoặc quay lại {productName} và thử lại." - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "Chúng tôi không thể xóa tài khoản đó. Vui lòng thử lại." #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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 "Chúng tôi đã tìm thấy gói đăng ký {premiumProductFullName} hiện có cho tài khoản này. Hãy quản lý gói này trong cổng thanh toán bảo mật để cập nhật chi tiết thanh toán hoặc kiểm tra trạng thái gia hạn. Nếu bạn vừa thanh toán, vui lòng đợi một phút rồi mở lại trang này." @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "Bạn đã trở thành nhà phát triển!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Bạn đang được chuyển hướng đến {paymentProviderName} để hoàn tất thanh toán. Quay lại {productName} sau khi bạn hoàn tất." @@ -39488,7 +39390,7 @@ msgstr "Bạn có thể đóng cửa sổ này. Quá trình nhập sẽ tiếp t msgid "You can close this tab" msgstr "Bạn có thể đóng tab này" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "Giờ bạn có thể đóng tab này và quay lại ứng dụng." @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "Bạn cần xác minh địa chỉ email trước khi có thể bắt đầu tin nhắn trực tiếp." #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Bạn cần xác minh email trước khi có thể mua {premiumProductFullName}." @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "Bạn đã là bạn bè với người dùng này rồi." #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "Bạn đã là Visionary rồi" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "Bạn đang bị giới hạn tốc độ. Vui lòng đợi {duration} trước khi thử lại." #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "Bạn đang dùng gói quà tặng. Gói này sẽ không tự động gia hạn. Bạn có thể đổi thêm mã quà tặng để gia hạn. Gói tự động gia hạn có thể được bắt đầu sau khi gói quà tặng của bạn kết thúc." @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "Bạn đã xem tất cả các lượt nhắc đến gần đây. Các lượt nhắc đến mới sẽ sớm xuất hiện tại đây." #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "Gói đăng ký {premiumProductFullName} của bạn được thanh toán qua {storeName}. Hãy quản lý gói này trong tài khoản {storeName} của bạn để thay đổi gói hoặc kiểm tra trạng thái gia hạn." @@ -40316,14 +40218,6 @@ msgstr "Đơn đăng ký của bạn đang chờ xét duyệt. Bạn vẫn có t msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "Trình duyệt của bạn yêu cầu tương tác người dùng trước khi có thể phát âm thanh. Nhấn vào nút bên dưới để bật trò chuyện thoại." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "Đang kiểm tra thẻ của bạn để áp dụng giá theo khu vực. Việc này thường chỉ mất một lát." - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "Thẻ của bạn đủ điều kiện. Đang chuyển bạn đến trang thanh toán." - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "Giao dịch mua gần đây nhất của bạn đã quá thời gian ho msgid "Your new nickname, or leave blank to reset it." msgstr "Biệt danh mới của bạn, hoặc để trống để đặt lại." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "Thanh toán của bạn đã bị hủy. Bây giờ bạn có thể đóng tab này và quay lại ứng dụng." -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "Thanh toán thành công. Bạn có thể đóng tab này và quay lại ứng dụng." diff --git a/fluxer_app/src/features/i18n/locales/zh-CN/messages.po b/fluxer_app/src/features/i18n/locales/zh-CN/messages.po index 0e82b3024..e5458cf36 100644 --- a/fluxer_app/src/features/i18n/locales/zh-CN/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-CN/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, other {# 项覆盖}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} 安全地处理付款。" -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} 会先验证你的银行卡是否符合本地定价条件,然后带你前往付款页面。完成后请返回 {productName}。" - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "所有私信 + 社区" msgid "All DMs only" msgstr "仅私信" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "已完成" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "提供的状态无效。你可以关闭此标签页并返回应用。" #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "提供的状态无效。你现在可以关闭此标签页并返回应用。" @@ -6739,14 +6734,6 @@ msgstr "卡片对齐方式" msgid "Card alignment controls" msgstr "卡片对齐方式控件" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "银行卡不符合条件" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "银行卡验证已取消。你可以关闭此标签页并返回应用。" - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "结账" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "此账户的结账已被阻止。" #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "此账号已被限制结账。如需帮助,请联系 {supportEmail}。" #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "无法结账" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "选择应用中时间的显示方式" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "选择此订阅的付款方式。" @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "选择以下任一方式来验证域名所有权。你只需完成其中一项。" #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "选择付款方式" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "完成成人内容验证" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "完成支付" @@ -9409,11 +9396,6 @@ msgstr "左键点击(按钮)或右键点击(其他元素)可打开上下 msgid "Continue" msgstr "继续" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "继续结账" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "无法打开搜索结果" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "无法开始 {blueskyProviderName} 授权" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "无法开始结账" @@ -18574,7 +18556,7 @@ msgstr "无效的 redirect_uri" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "无效状态" @@ -20067,11 +20049,6 @@ msgstr "区域时间格式" msgid "Localization" msgstr "本地化" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "本地银行卡验证目前不可用。请稍后重试。" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "其他" msgid "Other devices" msgstr "其他设备" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "其他方式" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "一次性付款即可获得一个可分享的礼品链接。礼物永不续订。" #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "使用 {pixPaymentMethod} Automático 直接从你的巴西银行授权定期扣款。或选择“使用银行卡”,在 {paymentProviderName} 的下一步页面输入信用卡信息。" #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "使用 {upiPaymentMethod} 从你的印度银行设置符合印度储备银行 (RBI) 规定的电子授权。或选择“使用银行卡”,在 {paymentProviderName} 的下一步页面输入信用卡信息。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "支付已取消" @@ -24980,7 +24952,7 @@ msgstr "支付已取消" msgid "Payment method" msgstr "付款方式" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "支付成功" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "定价" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "价格仍在加载中。" @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "已购礼物" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "此账户已禁用购买。" #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "此账号已禁用购买功能。如果此情况有误,请联系 {supportEmail}。" #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "无法购买" @@ -31635,7 +31607,7 @@ msgstr "加载活动日志时出错了。" #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "发送验证邮件时出错了。请稍后重试。" #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "启动结账时出错了。请稍后重试。" @@ -32672,16 +32644,6 @@ msgstr "移除跟踪" msgid "Strip tracking parameters from URLs" msgstr "移除链接跟踪参数" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe 无法验证此卡是否适用本地化定价。请改用其他银行卡,或返回 {productName} 选择其他付款方式。" - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe 显示此卡的发卡国家/地区为 {countryName}。若要以该本地化货币付款,请使用你账单所在国家/地区发行的银行卡,或返回 {productName} 选择其他付款方式。" - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "订阅" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "订阅已存在" @@ -34051,11 +34013,6 @@ msgstr "此通话已端到端加密。" msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "此操作无法撤销。移除应用也会删除其机器人。" -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "此卡与你的账单国家/地区不符,因此无法用于此本地化货币。请使用本地银行卡,或返回 {productName} 并选择其他付款方式。" - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "此选择器仅在桌面应用中可用。" #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "此套餐不可用。请联系支持团队。" @@ -34709,11 +34666,6 @@ msgstr "该用户已不存在。请刷新后重试。" msgid "This user was force-added to this community by a platform administrator." msgstr "该用户已被平台管理员强制添加到此社区。" -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "验证会话已过期。请返回 {productName} 重新开始结账。" - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "使用 {everyoneMention}/{hereMention} 和 {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "使用 {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "使用 {query} 插入要翻译的文本。" #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "使用 {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "使用实际值" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "使用其他方式" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "使用浏览器区域设置的时间格式" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "使用银行卡" @@ -37099,36 +37051,6 @@ msgstr "使用旧版深色主题(原始中性灰色调色板)" msgid "Use light theme" msgstr "使用浅色主题" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "使用本地银行卡" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "在付费 BRL 结账前,请使用本地银行卡验证在巴西发行的银行卡。如果你想尝试 {pixPaymentMethod} 或 {paymentProviderName} 在下一屏幕提供的其他付款方式,请选择其他方式。" - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "在付费 INR 结账前,请使用本地银行卡验证在印度发行的银行卡。如果你想尝试 {upiPaymentMethod} 或 {paymentProviderName} 在下一屏幕提供的其他付款方式,请选择其他方式。" - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "在付费 PLN 结账前,请使用本地银行卡验证在波兰发行的银行卡。{blikPaymentMethod} 不支持在 {paymentProviderName} 结账中订阅,因此只有在你希望改用 {paymentProviderName2} 的标准支付界面时才继续。" - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "在付费 TRY 结账前,请使用本地银行卡验证在土耳其发行的银行卡。这里没有基于应用的本地订阅方式,因此继续操作将跳转到 {paymentProviderName} 的标准支付界面。" - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "在付费结账前,请使用本地银行卡验证在你账单所属国家/地区发行的银行卡。如需使用 {paymentProviderName} 在下一屏幕提供的其他付款方式,请选择其他方式。" - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "验证与成员门槛" msgid "Verification barrier" msgstr "验证门槛" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "验证已取消" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "验证邮件已发送。请检查你的收件箱。" #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "验证已过期" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "验证失败" @@ -37622,11 +37538,6 @@ msgstr "已认证社区" msgid "Verify" msgstr "验证" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "验证银行卡" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "验证" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "请先验证你的邮箱,然后才能发送好友请求。" #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "请先验证你的邮箱" @@ -37744,10 +37655,6 @@ msgstr "请验证你的邮箱,以便购买 {premiumProductFullName}。" msgid "Verify your email to start DMs." msgstr "验证邮箱后才能发起私信。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "正在验证银行卡" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "正在核对验证码…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 双重认证提示栏" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary 已包含永久访问权限,因此无需周期性订阅。你仍然可以为他人购买礼物。" @@ -38611,11 +38518,6 @@ msgstr "选择器由 Wayland 的 xdg-desktop-portal 控制,它会把所有窗 msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "选择器由 Wayland 的 xdg-desktop-portal 控制,它会把所有窗口和显示器一起列出。没有任何参数能让它只列出窗口。请点击“打开系统选择器”,然后在其中选择一个窗口来获取单个应用的音频。" -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "我们暂时无法确认你的银行卡。请刷新此页面或返回 {productName} 重试。" - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "无法移除该账号。请重试。" #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} 订阅。请在安全账单门户中管理该订阅,以更新付款信息或查看续订状态。如果你刚刚付款,请稍等片刻,然后重新打开此页面。" @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "你现在是开发者了!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "你即将前往 {paymentProviderName} 完成支付。完成后请返回 {productName}。" @@ -39488,7 +39390,7 @@ msgstr "你可以关闭此弹窗。导入将在后台继续。" msgid "You can close this tab" msgstr "你可以关闭此标签页" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "现在可以关闭此页面,返回应用。" @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "你需要先验证邮箱地址,才能发起私信。" #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "你需要先验证邮箱,才能购买 {premiumProductFullName}。" @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "你和对方已经是好友。" #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "你已经是 Visionary" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "你的操作过于频繁。请在 {duration} 后重试。" #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "你目前使用的是赠送订阅,它不会自动续订。你可以兑换更多礼品码来延长订阅时长。赠送时长结束后,你可以开通自动续订的订阅。" @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "你已查看所有近期提及。新提及会很快显示在这里。" #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "你的 {premiumProductFullName} 订阅通过 {storeName} 计费。请在你的 {storeName} 账号中管理该订阅,以更改方案或查看续订状态。" @@ -40316,14 +40218,6 @@ msgstr "你的申请正在审核中。你仍可以更新展示信息或撤回申 msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "你的浏览器需要用户交互后才能播放音频。请点击下方按钮以启用语音聊天。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "正在检查你的银行卡,以确定本地价格。这通常需要一点时间。" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "你的银行卡符合条件。正在将你跳转到付款页面。" - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "你最近一次购买已超出退款期限。如有账单问题,请联 msgid "Your new nickname, or leave blank to reset it." msgstr "你的新昵称,留空则重置。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "你的付款已取消。现在可以关闭此标签页并返回应用。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "你的付款已成功。现在可以关闭此标签页并返回应用。" diff --git a/fluxer_app/src/features/i18n/locales/zh-TW/messages.po b/fluxer_app/src/features/i18n/locales/zh-TW/messages.po index cb8472eda..6d53c5d6b 100644 --- a/fluxer_app/src/features/i18n/locales/zh-TW/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-TW/messages.po @@ -1611,11 +1611,6 @@ msgstr "{overrideCount, plural, one {# 個覆寫} other {# 個覆寫}}" msgid "{PAYMENT_PROVIDER_NAME} handles payment securely." msgstr "{PAYMENT_PROVIDER_NAME} 安全處理付款。" -#. Modal body for the mobile card verification confirmation. Explains the two-step flow and the return path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:198 -msgid "{paymentProviderName} will first verify that your card is eligible for localized pricing, then take you to payment. Return to {productName} once you've completed it." -msgstr "{paymentProviderName} 會先確認您的卡片是否符合當地定價資格,接著帶您前往付款。完成後請返回 {productName}。" - #. Badge label with a date in the user profile badges popout. Preserve {premiumProductFullName}, {premiumSinceFormatted}; they are inserted by code. In English, keep "subscriber since" lowercase. Other locales should use natural local capitalization. #: src/features/user/components/popouts/UserProfileBadges.tsx:54 msgid "{premiumProductFullName} subscriber since {premiumSinceFormatted}" @@ -3655,7 +3650,7 @@ msgstr "所有私訊 + 社群" msgid "All DMs only" msgstr "僅限所有私訊" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:166 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:67 msgid "All done" msgstr "已完成" @@ -4064,7 +4059,7 @@ msgid "An invalid status was provided. You can close this tab and return to the msgstr "提供的狀態無效。您可以關閉此分頁並返回應用程式。" #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:59 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:272 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:81 msgid "An invalid status was provided. You can now close this tab and return to the app." msgstr "提供的狀態無效。您現在可以關閉此分頁並返回應用程式。" @@ -6739,14 +6734,6 @@ msgstr "卡片對齊" msgid "Card alignment controls" msgstr "卡片對齊控制項" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:200 -msgid "Card not eligible" -msgstr "此卡不符資格" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:261 -msgid "Card verification was canceled. You can close this tab and return to the app." -msgstr "信用卡驗證已取消。您可以關閉此分頁並返回應用程式。" - #. Heading above the category filter list in the Discovery search sidebar. #. Short label in the discovery category bottom sheet. Keep it concise. #: src/features/discovery/components/bottomsheets/DiscoveryCategoryBottomSheet.tsx:15 @@ -7563,17 +7550,17 @@ msgid "Checkout" msgstr "結帳" #. Modal body for the generic "checkout blocked" state on a self-hosted instance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:164 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:124 msgid "Checkout is blocked for this account." msgstr "此帳戶的結帳功能已封鎖。" #. Modal body for the generic "checkout blocked" state. Provides the support email. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:160 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:120 msgid "Checkout is blocked for this account. Contact {supportEmail} if you need help." msgstr "此帳號無法使用結帳功能。如需協助,請聯絡 {supportEmail}。" #. Modal title for the generic "checkout blocked" state when no more specific reason is known. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:116 msgid "Checkout unavailable" msgstr "無法結帳" @@ -7747,7 +7734,7 @@ msgid "Choose how times are displayed throughout the app" msgstr "選擇應用程式中時間的顯示方式" #. Plutonium subscription payment method picker description, generic fallback when no country-specific copy applies. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:60 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:59 msgid "Choose how you'd like to pay for this subscription." msgstr "請選擇此訂閱的付款方式。" @@ -7761,7 +7748,7 @@ msgid "Choose one of the methods below to prove domain ownership. You only need msgstr "請選擇以下其中一種方式來驗證網域所有權。您只需完成其中一種即可。" #. Modal title for the payment method picker (local card vs alternative method). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:212 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:159 msgid "Choose payment method" msgstr "選擇付款方式" @@ -8957,7 +8944,7 @@ msgid "Complete mature content check" msgstr "完成成人內容檢查" #. Modal title for the mobile checkout confirmation when opening the payment provider in a browser. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:194 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:150 msgid "Complete payment" msgstr "完成付款" @@ -9409,11 +9396,6 @@ msgstr "按一下左鍵(在按鈕上)或按一下右鍵(在其他元素上 msgid "Continue" msgstr "繼續" -#. Plutonium checkout pre-approval prompt secondary button. Continues straight to the standard checkout screen. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:91 -msgid "Continue to checkout" -msgstr "繼續結帳" - #. Button or menu action label in the report action utils helper. Keep it concise. Keep the tone plain and specific. #: src/features/moderation/utils/ReportActionUtils.tsx:37 msgid "Continue to report community" @@ -10202,7 +10184,7 @@ msgstr "無法開啟搜尋結果" #. Title of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:32 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:31 #: 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 @@ -10359,7 +10341,7 @@ msgid "Couldn't start {blueskyProviderName} authorization" msgstr "無法開始 {blueskyProviderName} 授權" #. Title of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:168 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:128 msgid "Couldn't start checkout" msgstr "無法開始結帳" @@ -18574,7 +18556,7 @@ msgstr "redirect_uri 無效" #. Title on the mature content check callback page when the callback status is invalid. #: src/features/auth/components/pages/MatureContentCheckCallbackPage.tsx:27 #: src/features/connection/components/pages/ConnectionCallbackPage.tsx:56 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:269 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:78 msgid "Invalid status" msgstr "狀態無效" @@ -20067,11 +20049,6 @@ msgstr "地區時間格式" msgid "Localization" msgstr "在地化" -#. Error modal body shown when the localized card pre-approval session cannot be started. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:208 -msgid "Localized card verification is not available right now. Try again later." -msgstr "目前無法使用本國卡片驗證。請稍後再試。" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:194 #: src/features/user/components/modals/tabs/DevicesTab.tsx:151 msgid "Location" @@ -24563,11 +24540,6 @@ msgstr "其他" msgid "Other devices" msgstr "其他裝置" -#. Plutonium checkout pre-approval prompt secondary button. Opens the alternative payment methods flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 -msgid "Other methods" -msgstr "其他方式" - #. Privacy note in profile timezone settings. Preserve {timezoneIdentifierExample}; it is inserted by code as an IANA timezone identifier example. productName is the app name. Users should understand that only the UTC offset is shown to other people. #: src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx:49 msgid "Other people can only see your current UTC offset when you choose to share profile local time. They do not see your exact time zone identifier, such as {timezoneIdentifierExample}. {productName} stores that identifier only so the offset can update automatically when daylight saving time changes." @@ -24962,16 +24934,16 @@ msgid "Pay once and get a gift link to share. Gifts never renew." msgstr "一次付費即可獲得可分享的禮物連結。禮物不會續訂。" #. Plutonium subscription payment method picker description for Brazil. Explains Pix recurring vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:40 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:39 msgid "Pay with {pixPaymentMethod} Automático to authorize recurring charges directly from your Brazilian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "使用 {pixPaymentMethod} Automático 付款,直接從您的巴西銀行授權定期扣款。或者選擇「使用卡片」,在 {paymentProviderName} 的下一個畫面輸入信用卡資訊。" #. Plutonium subscription payment method picker description for India. Explains UPI e-mandate vs falling back to a card. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:50 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:49 msgid "Pay with {upiPaymentMethod} to set up an RBI-compliant e-mandate from your Indian bank. Or choose \"Use card\" to enter a credit card on {paymentProviderName}'s next screen." msgstr "使用 {upiPaymentMethod} 付款,從您的印度銀行設定符合印度儲備銀行規範的電子授權。或者選擇「使用卡片」,在 {paymentProviderName} 的下一個畫面輸入信用卡資訊。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:149 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:50 msgid "Payment canceled" msgstr "已取消付款" @@ -24980,7 +24952,7 @@ msgstr "已取消付款" msgid "Payment method" msgstr "付款方式" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:136 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:37 msgid "Payment successful" msgstr "付款成功" @@ -25866,7 +25838,7 @@ msgid "Pricing" msgstr "價格" #. Error modal body shown when the user clicks a plan before price IDs have loaded. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:182 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:142 msgid "Pricing is still loading." msgstr "價格仍在載入中。" @@ -26263,17 +26235,17 @@ msgid "Purchased gifts" msgstr "已購買的禮物" #. Modal body shown on a self-hosted instance when purchases are disabled for the account. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 msgid "Purchases are disabled for this account." msgstr "此帳戶已停用購買功能。" #. Modal body shown when purchases are disabled. Provides the support email for appeals. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 msgid "Purchases are disabled for this account. Contact {supportEmail} if this looks wrong." msgstr "此帳號已停用購買功能。如果這看起來有誤,請聯絡 {supportEmail}。" #. Modal title shown when purchases are disabled on this account (server-side enforcement). -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:104 msgid "Purchases unavailable" msgstr "無法購買" @@ -31635,7 +31607,7 @@ msgstr "載入活動紀錄時發生錯誤。" #. Body of the error modal shown when opening the billing customer portal from the grace-period nagbar fails. #. 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:36 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:35 #: 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 @@ -31675,7 +31647,7 @@ msgid "Something went wrong while sending your verification email. Please try ag msgstr "傳送驗證電子郵件時發生錯誤。請稍後再試一次。" #. Body of the generic fallback error modal shown when creating a checkout session fails unexpectedly. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:172 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "啟動結帳時發生錯誤。請稍後再試一次。" @@ -32672,16 +32644,6 @@ msgstr "移除追蹤" msgid "Strip tracking parameters from URLs" msgstr "移除網址中的追蹤參數" -#. Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:34 -msgid "Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method." -msgstr "Stripe 無法驗證此卡片是否適用當地定價。請改用其他卡片,或返回 {productName} 並選擇其他付款方式。" - -#. Premium checkout error shown when card country does not match billing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:22 -msgid "Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method." -msgstr "Stripe 偵測到一張發卡國家為 {countryName} 的卡片。若要以當地幣別付款,請使用您帳單地址所在國家/地區發行的卡片,或返回 {productName} 並選擇其他付款方式。" - #. Codec description in the screen share codec policy menu. Technical surface; keep Chromium as a literal proper noun. #: src/features/voice/utils/ScreenShareCodecPolicy.ts:15 msgid "Strong quality at moderate CPU cost. Good Chromium fallback for screen sharing." @@ -32728,7 +32690,7 @@ msgid "Subscription" msgstr "訂閱" #. Modal title shown when checkout is blocked because the account already has an active Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:87 msgid "Subscription already exists" msgstr "您已有訂閱" @@ -34051,11 +34013,6 @@ msgstr "此通話已端對端加密。" msgid "This cannot be undone. Removing the application also deletes its bot." msgstr "此動作無法復原。移除應用程式也會一併刪除其機器人。" -#. Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:28 -msgid "This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method." -msgstr "此卡片與您的帳單國家/地區不符,因此無法用於此本地化貨幣。請使用當地卡片,或返回 {productName} 並選擇其他付款方式。" - #. Modal body shown when a category cannot accept another channel because the per-category limit is reached. Limit is interpolated. #: src/features/app/components/layout/ChannelListContent.tsx:83 msgid "This category already contains the maximum of {maxChannelsPerCategory} channels." @@ -34573,7 +34530,7 @@ msgid "This picker is only available in the desktop app." msgstr "此選擇器僅適用於桌面版應用程式。" #. Error modal body shown when the selected Plutonium plan has no price ID configured. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:186 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:146 msgid "This plan isn't available. Contact support." msgstr "此方案無法使用。請聯絡客服。" @@ -34709,11 +34666,6 @@ msgstr "此使用者已不存在。請重新整理並再試一次。" msgid "This user was force-added to this community by a platform administrator." msgstr "此使用者是由平台管理員強制加入此社群的。" -#. Premium checkout error shown when card verification expires before checkout. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 -msgid "This verification session expired. Return to {productName} and start checkout again." -msgstr "此驗證工作階段已過期。請返回 {productName} 並重新開始結帳。" - #. Body of the voice-channel-full modal. #: src/features/voice/components/alerts/VoiceChannelFullModal.tsx:12 msgid "This voice channel has reached its user limit. Try again later or join a different channel." @@ -36927,7 +36879,7 @@ msgid "Use {everyoneMention}/{hereMention} and {rolesMention}" msgstr "使用 {everyoneMention}/{hereMention} 和 {rolesMention}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:46 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:45 msgid "Use {pixPaymentMethod}" msgstr "使用 {pixPaymentMethod}" @@ -36942,7 +36894,7 @@ msgid "Use {query} where the text to translate should be inserted." msgstr "在要插入翻譯文字的位置使用 {query}。" #. Plutonium subscription payment method picker button. Selects UPI as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:56 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:55 msgid "Use {upiPaymentMethod}" msgstr "使用 {upiPaymentMethod}" @@ -36971,7 +36923,7 @@ msgid "Use actual value" msgstr "使用實際值" #. Plutonium subscription payment method picker button. Selects the alternative (non-card) method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:65 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:64 msgid "Use alternative method" msgstr "使用其他方式" @@ -37002,7 +36954,7 @@ msgid "Use browser locale for time format" msgstr "使用瀏覽器地區設定顯示時間格式" #. Modal secondary button to fall back to standard card checkout instead of an alternative payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:220 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:163 msgid "Use card" msgstr "使用卡片" @@ -37099,36 +37051,6 @@ msgstr "使用舊版深色主題(原始中性灰色調色盤)" msgid "Use light theme" msgstr "使用淺色主題" -#. Modal primary button to start the localized card pre-approval verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:216 -msgid "Use local card" -msgstr "使用當地卡片" - -#. Plutonium checkout pre-approval prompt for Brazil. Explains the card verification flow and the Pix alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:69 -msgid "Use local card to verify a card issued in Brazil before the paid BRL checkout. Choose other methods if you'd rather try {pixPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "在付費的巴西雷亞爾結帳前,請使用當地卡片驗證在巴西發行的卡片。如果您想嘗試 {pixPaymentMethod} 或 {paymentProviderName} 在下一個畫面提供的其他付款方式,請選擇其他方式。" - -#. Plutonium checkout pre-approval prompt for India. Explains the card verification flow and the UPI alternative. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 -msgid "Use local card to verify a card issued in India before the paid INR checkout. Choose other methods if you'd rather try {upiPaymentMethod} or another payment method {paymentProviderName} offers on the next screen." -msgstr "在付費的印度盧比結帳前,請使用當地卡片驗證在印度發行的卡片。如果您想嘗試 {upiPaymentMethod} 或 {paymentProviderName} 在下一個畫面提供的其他付款方式,請選擇其他方式。" - -#. Plutonium checkout pre-approval prompt for Poland. Explains that BLIK is not supported for subscriptions; user must continue to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 -msgid "Use local card to verify a card issued in Poland before the paid PLN checkout. {blikPaymentMethod} does not support subscriptions in {paymentProviderName} checkout, so continue only if you want {paymentProviderName2}'s standard payment screen instead." -msgstr "請使用當地卡片驗證在波蘭發行的卡片,然後再進行付費的波蘭茲羅提結帳。{blikPaymentMethod} 不支援 {paymentProviderName} 結帳中的訂閱,因此只有在您想要使用 {paymentProviderName2} 的標準付款畫面時才繼續。" - -#. Plutonium checkout pre-approval prompt for Türkiye. Explains there is no local wallet method; continuing goes to the standard checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 -msgid "Use local card to verify a card issued in Türkiye before the paid TRY checkout. There isn't an app-based local subscription method here, so continuing will take you to {paymentProviderName}'s standard payment screen." -msgstr "請使用當地卡片驗證在土耳其發行的卡片,然後再進行付費的土耳其里拉結帳。這裡沒有應用程式內的當地訂閱方式,因此繼續操作將會帶您前往 {paymentProviderName} 的標準付款畫面。" - -#. Plutonium checkout pre-approval prompt default. Generic description for countries without specific localized payment guidance. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 -msgid "Use local card to verify a card issued in your billing country before the paid checkout. Choose other methods for any other payment method {paymentProviderName} offers on the next screen." -msgstr "在付費結帳前,請使用當地卡片驗證您帳單國家/地區發行的卡片。若要使用 {paymentProviderName} 在下一個畫面提供的其他付款方式,請選擇其他方式。" - #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced desktop preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:28 @@ -37576,10 +37498,6 @@ msgstr "驗證與成員資格門檻" msgid "Verification barrier" msgstr "驗證門檻" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:258 -msgid "Verification canceled" -msgstr "驗證已取消" - #. Generic form-field label for a one-time verification code. #: src/features/i18n/utils/CommonMessageDescriptors.ts:219 msgid "Verification code" @@ -37597,13 +37515,11 @@ msgstr "驗證電子郵件已寄出。請檢查您的收件匣。" #. Error title shown when the backup codes email verification expired and must be started again. #: src/features/auth/components/modals/BackupCodesViewModal.tsx:35 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:224 msgid "Verification expired" msgstr "驗證已過期" #: src/features/auth/components/modals/SudoVerificationModal.tsx:82 #: src/features/auth/components/pages/VerifyEmailPage.tsx:108 -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:241 msgid "Verification failed" msgstr "驗證失敗" @@ -37622,11 +37538,6 @@ msgstr "已驗證社群" msgid "Verify" msgstr "驗證" -#. Modal title for the mobile checkout confirmation when opening the localized card verification flow. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:190 -msgid "Verify card" -msgstr "驗證卡片" - #: src/features/moderation/components/report/ReportStepVerification.tsx:91 msgid "Verify code" msgstr "驗證代碼" @@ -37705,7 +37616,7 @@ msgid "Verify your email before sending friend requests." msgstr "請先驗證您的電子郵件,才能傳送好友邀請。" #. Title of the error modal shown when an unverified account tries to purchase Plutonium. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:108 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:68 msgid "Verify your email first" msgstr "請先驗證您的電子郵件" @@ -37744,10 +37655,6 @@ msgstr "請驗證您的電子郵件,才能購買 {premiumProductFullName}。" msgid "Verify your email to start DMs." msgstr "請驗證您的電子郵件以開始私訊。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:179 -msgid "Verifying card" -msgstr "正在驗證卡片" - #: src/features/auth/flow/HandoffApprovalFlow.tsx:144 msgid "Verifying code…" msgstr "正在驗證代碼…" @@ -38189,7 +38096,7 @@ msgid "Visionary 2FA nagbar" msgstr "Visionary 雙重驗證提醒" #. Modal body shown when a Visionary user tries to subscribe. Reassures them and points out gift purchases stay available. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:121 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:81 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary 已包含永久存取權,因此不需要重複訂閱。您仍然可以購買禮物送給其他人。" @@ -38611,11 +38518,6 @@ msgstr "Wayland 的 xdg-desktop-portal 擁有選取器,並會同時顯示所 msgid "Wayland's xdg-desktop-portal owns the picker and shows every window and display together. There is no flag that filters it to windows only. Press \"Open system picker\", then choose a window there to get per-app audio." msgstr "Wayland 的 xdg-desktop-portal 擁有選取器,並會同時顯示所有視窗和顯示器。目前沒有旗標可以將其篩選為僅限視窗。請按下「開啟系統選取器」,然後在其中選擇一個視窗以取得個別應用程式的音訊。" -#. Premium checkout error shown when card verification fails unexpectedly. productName is the app name. -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:44 -msgid "We could not confirm your card right now. Refresh this page or return to {productName} and try again." -msgstr "我們目前無法確認您的卡片。請重新整理此頁面,或返回 {productName} 再試一次。" - #. Plutonium page hero subtitle while a failed renewal is in its grace period. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:66 msgid "We could not renew your subscription. Update your payment method to keep your perks." @@ -38691,7 +38593,7 @@ msgid "We couldn't remove that account. Try again." msgstr "我們無法移除該帳號。請再試一次。" #. Modal body for existing-subscription block. Directs the user to the billing portal and addresses the just-paid race case. Keep plain and reassuring. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:132 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:92 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} 訂閱。請前往安全帳務入口網站管理訂閱,以更新付款詳細資料或查看續訂狀態。如果您剛完成付款,請稍候一分鐘再重新開啟此頁面。" @@ -39428,7 +39330,7 @@ msgid "You are now a developer!" msgstr "您現在是開發人員了!" #. Modal body for the mobile checkout confirmation. Explains that the user is leaving the app to pay. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:203 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:154 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "您現在將前往 {paymentProviderName} 完成付款。完成後請返回 {productName}。" @@ -39488,7 +39390,7 @@ msgstr "您可以關閉此視窗。匯入作業將在背景繼續進行。" msgid "You can close this tab" msgstr "您可以關閉此分頁" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:169 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:70 msgid "You can now close this tab and return to the app." msgstr "您現在可以關閉此分頁並返回應用程式。" @@ -39943,7 +39845,7 @@ msgid "You need to verify your email address before you can start a direct messa msgstr "您需要先驗證電子郵件地址,才能開始傳送私訊。" #. Body of the error modal shown when the account email is unverified and the user tries to purchase Plutonium. Product name is interpolated. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:112 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:72 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "您必須先驗證電子郵件,才能購買 {premiumProductFullName}。" @@ -40025,7 +39927,7 @@ msgid "You're already friends with this user." msgstr "您已和這位使用者成為好友。" #. Modal title shown when a lifetime Visionary tier user tries to start a recurring Plutonium subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:117 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:77 msgid "You're already Visionary" msgstr "您已經是 Visionary 了" @@ -40065,7 +39967,7 @@ msgid "You're being rate limited. Wait {duration} before trying again." msgstr "您的操作過於頻繁。請等待 {duration} 後再試一次。" #. Error modal body shown when a gift-subscription user tries to start a recurring subscription. Explains the extension/redemption path. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:176 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:136 msgid "You're currently on a gift subscription. It won't renew. You can redeem more gift codes to extend it. Recurring subscriptions can be started after your gift time ends." msgstr "您目前使用的是禮物訂閱,不會自動續訂。您可以兌換更多禮物代碼來延長訂閱。禮物時間結束後,即可開始定期訂閱。" @@ -40248,7 +40150,7 @@ msgid "You've seen all your recent mentions. More will appear here soon." msgstr "您已看過所有最近提及您的訊息。更多訊息將會陸續顯示於此。" #. Modal body for existing-subscription block when the subscription was bought in a mobile app store. {storeName} is the store brand name, App Store or Google Play, and must not be translated. {premiumProductFullName} is the full premium product name. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:138 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:98 msgid "Your {premiumProductFullName} subscription is billed through {storeName}. Manage it in your {storeName} account to change your plan or check renewal status." msgstr "您的 {premiumProductFullName} 訂閱透過 {storeName} 計費。請前往您的 {storeName} 帳號管理訂閱,以變更方案或查看續訂狀態。" @@ -40316,14 +40218,6 @@ msgstr "您的申請正在審核中。您仍然可以更新刊登資訊或撤回 msgid "Your browser requires user interaction before audio can be played. Click the button below to enable voice chat." msgstr "您的瀏覽器需要使用者互動才能播放音訊。請點擊下方按鈕以啟用語音聊天。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:185 -msgid "Your card is being checked for localized pricing. This usually takes a moment." -msgstr "正在檢查您的卡片是否適用當地定價。這通常很快就會完成。" - -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:183 -msgid "Your card is eligible. Redirecting you to the payment page now." -msgstr "您的卡片符合資格。正在將您重新導向至付款頁面。" - #. Body of the confirmation shown before saving an edit to a message published from an announcement channel. #: src/features/messaging/commands/MessageCommands.tsx:104 msgid "Your changes reach every community that follows this channel, which can take a minute. Each published message allows 3 quick edits, then 1 every 20 minutes." @@ -40502,11 +40396,11 @@ msgstr "您最近的購買已超出退款期限。如需處理帳務問題,請 msgid "Your new nickname, or leave blank to reset it." msgstr "您的新暱稱,留空則重設。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:152 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:53 msgid "Your payment was canceled. You can now close this tab and return to the app." msgstr "您的付款已取消。現在您可以關閉此分頁並返回應用程式。" -#: src/features/premium/components/pages/PremiumCallbackPage.tsx:139 +#: src/features/premium/components/pages/PremiumCallbackPage.tsx:40 msgid "Your payment was successful. You can now close this tab and return to the app." msgstr "付款成功。您現在可以關閉此分頁並返回應用程式。" diff --git a/fluxer_app/src/features/premium/commands/PremiumCommands.ts b/fluxer_app/src/features/premium/commands/PremiumCommands.ts index de3416499..2f589c5c2 100644 --- a/fluxer_app/src/features/premium/commands/PremiumCommands.ts +++ b/fluxer_app/src/features/premium/commands/PremiumCommands.ts @@ -8,7 +8,6 @@ import PremiumState from '@app/features/premium/state/PremiumState'; import Users from '@app/features/user/state/Users'; import type { CurrentSubscriptionPriceResponse, - LocalizedCardPreapprovalContinueResponse, PremiumStateResponse, PriceIdsResponse, SelfServeRefundEligibilityResponse, @@ -75,19 +74,6 @@ function checkoutSessionBody( }; } -function preapprovalSessionBody(priceId: string, countryCode: string): Record { - const normalized = normalizedCountryCode(countryCode) ?? countryCode; - return { - price_id: priceId, - country_code: normalized, - client_geoip_country_code: normalized, - }; -} - -function tokenBody(token: string): {token: string} { - return {token}; -} - async function postAndInvalidate(endpoint: string, body?: Record): Promise { await http.post(endpoint, body ? {body} : undefined); invalidateCurrentSubscriptionPriceCache(); @@ -266,35 +252,6 @@ export async function createCheckoutSession( } } -export async function createLocalizedCardPreapprovalSession(priceId: string, countryCode: string): Promise { - try { - const response = await http.post(Endpoints.STRIPE_CHECKOUT_SUBSCRIPTION_PREAPPROVAL, { - body: preapprovalSessionBody(priceId, countryCode), - }); - logger.info('Localized card preapproval session created', {priceId, countryCode}); - return response.body.url; - } catch (error) { - logger.error('Localized card preapproval session creation failed', error); - throw error; - } -} - -export async function continueLocalizedCardPreapproval( - token: string, -): Promise { - try { - const response = await http.post( - Endpoints.STRIPE_CHECKOUT_SUBSCRIPTION_PREAPPROVAL_CONTINUE, - {body: tokenBody(token)}, - ); - logger.debug('Localized card preapproval continuation polled', response.body); - return response.body; - } catch (error) { - logger.error('Localized card preapproval continuation failed', error); - throw error; - } -} - export async function cancelSubscriptionAtPeriodEnd(): Promise { try { await postAndInvalidate(Endpoints.PREMIUM_CANCEL_SUBSCRIPTION); diff --git a/fluxer_app/src/features/premium/components/pages/PremiumCallbackPage.tsx b/fluxer_app/src/features/premium/components/pages/PremiumCallbackPage.tsx index 06f3f2d28..d7cee6aa1 100644 --- a/fluxer_app/src/features/premium/components/pages/PremiumCallbackPage.tsx +++ b/fluxer_app/src/features/premium/components/pages/PremiumCallbackPage.tsx @@ -1,127 +1,28 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; import {useLocation} from '@app/features/platform/components/router/RouterReact'; -import * as PremiumCommands from '@app/features/premium/commands/PremiumCommands'; import styles from '@app/features/premium/components/pages/PremiumCallbackPage.module.css'; import {shouldShowPremiumFeatures} from '@app/features/premium/utils/PremiumUtils'; -import {Spinner} from '@app/features/ui/components/Spinner'; -import {msg} from '@lingui/core/macro'; -import {Trans, useLingui} from '@lingui/react/macro'; +import {Trans} from '@lingui/react/macro'; import {CheckCircleIcon, XCircleIcon} from '@phosphor-icons/react'; import {observer} from 'mobx-react-lite'; -import {useEffect, useState} from 'react'; +import {useEffect} from 'react'; -type PreapprovalState = - | {status: 'error'} - | {status: 'expired'} - | {status: 'pending'} - | {status: 'redirecting'} - | {status: 'rejected'; actualCountry: string | null; reason: string}; - -const CARD_COUNTRY_MISMATCH_WITH_COUNTRY_DESCRIPTOR = msg({ - message: - 'Stripe reported a card issued in {countryName}. To pay in this localized currency, use a card issued in your billing country, or return to {productName} and choose another payment method.', - comment: - 'Premium checkout error shown when card country does not match billing country. productName is the app name.', -}); -const CARD_COUNTRY_MISMATCH_DESCRIPTOR = msg({ - message: - 'This card does not match your billing country, so it cannot be used for this localized currency. Use a local card, or return to {productName} and choose another payment method.', - comment: - 'Premium checkout error shown when card country does not match billing country and Stripe did not provide the issuing country. productName is the app name.', -}); -const CARD_PREAPPROVAL_FAILED_DESCRIPTOR = msg({ - message: - 'Stripe could not verify this card for localized pricing. Use another card, or return to {productName} and choose another payment method.', - comment: - 'Premium checkout error shown when Stripe cannot verify a card for localized pricing. productName is the app name.', -}); -const CARD_VERIFICATION_EXPIRED_DESCRIPTOR = msg({ - message: 'This verification session expired. Return to {productName} and start checkout again.', - comment: 'Premium checkout error shown when card verification expires before checkout. productName is the app name.', -}); -const CARD_VERIFICATION_FAILED_DESCRIPTOR = msg({ - message: 'We could not confirm your card right now. Refresh this page or return to {productName} and try again.', - comment: 'Premium checkout error shown when card verification fails unexpectedly. productName is the app name.', -}); const PremiumCallbackPage = observer(() => { - const {i18n} = useLingui(); const location = useLocation(); const queryParams = new URLSearchParams(location.search); const status = queryParams.get('status'); - const token = queryParams.get('token'); - const [preapprovalState, setPreapprovalState] = useState({status: 'pending'}); useEffect(() => { if (!shouldShowPremiumFeatures()) { window.location.replace('/'); } }, []); - useEffect(() => { - if (status !== 'preapproval-success') { - return; - } - if (!token) { - setPreapprovalState({status: 'expired'}); - return; - } - let cancelled = false; - let timeoutId: number | null = null; - const poll = async () => { - try { - const result = await PremiumCommands.continueLocalizedCardPreapproval(token); - if (cancelled) { - return; - } - switch (result.status) { - case 'pending': - setPreapprovalState({status: 'pending'}); - timeoutId = window.setTimeout(() => { - void poll(); - }, 1500); - return; - case 'ready': - setPreapprovalState({status: 'redirecting'}); - window.location.assign(result.url); - return; - case 'rejected': - setPreapprovalState({ - status: 'rejected', - reason: result.reason, - actualCountry: result.actual_country ?? null, - }); - return; - case 'expired': - setPreapprovalState({status: 'expired'}); - return; - } - } catch { - if (!cancelled) { - setPreapprovalState({status: 'error'}); - } - } - }; - void poll(); - return () => { - cancelled = true; - if (timeoutId != null) { - window.clearTimeout(timeoutId); - } - }; - }, [status, token]); if (!shouldShowPremiumFeatures()) { return null; } const isSuccess = status === 'success'; const isCancel = status === 'cancel'; const isClosedBillingPortal = status === 'closed-billing-portal'; - const isPreapprovalSuccess = status === 'preapproval-success'; - const isPreapprovalCancel = status === 'preapproval-cancel'; - const isPreapprovalRejected = isPreapprovalSuccess && preapprovalState.status === 'rejected'; - const isPreapprovalError = isPreapprovalSuccess && preapprovalState.status === 'error'; - const isPreapprovalExpired = isPreapprovalSuccess && preapprovalState.status === 'expired'; - const isPreapprovalPending = - isPreapprovalSuccess && (preapprovalState.status === 'pending' || preapprovalState.status === 'redirecting'); return (
{isSuccess && ( @@ -171,104 +72,12 @@ const PremiumCallbackPage = observer(() => {
)} - {isPreapprovalPending && ( - <> - -
-

- Verifying card -

-

- {preapprovalState.status === 'redirecting' ? ( - Your card is eligible. Redirecting you to the payment page now. - ) : ( - Your card is being checked for localized pricing. This usually takes a moment. - )} -

-
- - )} - {isPreapprovalRejected && ( - <> - -
-

- Card not eligible -

-

- {preapprovalState.reason === 'country_mismatch' - ? preapprovalState.actualCountry - ? i18n._(CARD_COUNTRY_MISMATCH_WITH_COUNTRY_DESCRIPTOR, { - countryName: preapprovalState.actualCountry, - productName: PRODUCT_NAME, - }) - : i18n._(CARD_COUNTRY_MISMATCH_DESCRIPTOR, {productName: PRODUCT_NAME}) - : i18n._(CARD_PREAPPROVAL_FAILED_DESCRIPTOR, {productName: PRODUCT_NAME})} -

-
- - )} - {isPreapprovalExpired && ( - <> - -
-

- Verification expired -

-

- {i18n._(CARD_VERIFICATION_EXPIRED_DESCRIPTOR, {productName: PRODUCT_NAME})} -

-
- - )} - {isPreapprovalError && ( - <> - -
-

- Verification failed -

-

- {i18n._(CARD_VERIFICATION_FAILED_DESCRIPTOR, {productName: PRODUCT_NAME})} -

-
- - )} - {isPreapprovalCancel && ( - <> - -
-

- Verification canceled -

-

- Card verification was canceled. You can close this tab and return to the app. -

-
- - )} - {!isSuccess && !isCancel && !isClosedBillingPortal && !isPreapprovalSuccess && !isPreapprovalCancel && ( -
-

+ {!isSuccess && !isCancel && !isClosedBillingPortal && ( +
+

Invalid status

-

+

An invalid status was provided. You can now close this tab and return to the app.

diff --git a/packages/schema/src/domains/premium/PremiumSchemas.ts b/packages/schema/src/domains/premium/PremiumSchemas.ts index 0b3ab4f5c..585b21d30 100644 --- a/packages/schema/src/domains/premium/PremiumSchemas.ts +++ b/packages/schema/src/domains/premium/PremiumSchemas.ts @@ -54,40 +54,6 @@ export const PriceIdsQueryRequest = z.object({ export type PriceIdsQueryRequest = z.infer; -export const LocalizedCardPreapprovalContinueRequest = z.object({ - token: createStringType(1, 256).describe('Continuation token for the localized card preapproval flow'), -}); - -export type LocalizedCardPreapprovalContinueRequest = z.infer; - -const LocalizedCardPreapprovalRejectedReason = z.enum([ - 'country_mismatch', - 'missing_customer', - 'missing_payment_method', - 'missing_setup_intent', - 'payment_method_not_card', - 'unknown', -]); -export const LocalizedCardPreapprovalContinueResponse = z.discriminatedUnion('status', [ - z.object({ - status: z.literal('pending').describe('The preapproval result is still being processed'), - }), - z.object({ - status: z.literal('ready').describe('The preapproval succeeded and the paid checkout URL is ready'), - url: z.string().describe('The URL to redirect to'), - }), - z.object({ - status: z.literal('rejected').describe('The preapproval failed and the paid checkout should not continue'), - reason: LocalizedCardPreapprovalRejectedReason.describe('The reason the preapproval was rejected'), - actual_country: createStringType(2, 2).nullish().describe('The detected card issuing country when available'), - }), - z.object({ - status: z.literal('expired').describe('The preapproval token has expired or is unknown'), - }), -]); - -export type LocalizedCardPreapprovalContinueResponse = z.infer; - export const CurrentSubscriptionPriceResponse = z .object({ price_id: z.string().describe('The Stripe price ID the user is currently billed against'),